From 1d4ae8dd27715efa192e762f54920a75221704ea Mon Sep 17 00:00:00 2001 From: Iverson Panasiewicz Date: Tue, 17 Dec 2019 22:55:49 -0300 Subject: [PATCH 1/4] Unit Tests project and basic unit tests. --- .vs/BerlinClock/v16/.suo | Bin 0 -> 96768 bytes .vs/BerlinClock/v16/Server/sqlite3/db.lock | 0 .../v16/Server/sqlite3/storage.ide | Bin 0 -> 557056 bytes .../v16/TestStore/0/000-0000.testlog | Bin 0 -> 20971556 bytes .../v16/TestStore/0/testlog.manifest | Bin 0 -> 24 bytes .vs/EPAM/v16/.suo | Bin 0 -> 23040 bytes .vs/ProjectSettings.json | 3 + .vs/VSWorkspaceState.json | 8 + .vs/slnx.sqlite | Bin 0 -> 397312 bytes BerlinClock.csproj | 2 + BerlinClock.sln | 13 +- BerlinClockUnitTests/BerlinClockTest.cs | 121 + .../BerlinClockUnitTests.csproj | 74 + .../Properties/AssemblyInfo.cs | 20 + .../bin/Debug/BerlinClock.dll | Bin 0 -> 8192 bytes .../bin/Debug/BerlinClock.dll.config | 12 + .../bin/Debug/BerlinClock.pdb | Bin 0 -> 24064 bytes .../bin/Debug/BerlinClockUnitTests.dll | Bin 0 -> 5632 bytes .../bin/Debug/BerlinClockUnitTests.pdb | Bin 0 -> 17920 bytes ...lStudio.QualityTools.UnitTestFramework.dll | Bin 0 -> 79624 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 130192 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 24720 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 113296 bytes ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 40080 bytes ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 73384 bytes ...isualStudio.TestPlatform.TestFramework.xml | 4391 +++++++++++++++++ .../bin/Debug/TechTalk.SpecFlow.dll | Bin 0 -> 228864 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 30864 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes .../BerlinClockUnitTests.csproj.CopyComplete | 0 ...ClockUnitTests.csproj.FileListAbsolute.txt | 21 + ...ockUnitTests.csprojAssemblyReference.cache | Bin 0 -> 4869 bytes .../obj/Debug/BerlinClockUnitTests.dll | Bin 0 -> 5632 bytes .../obj/Debug/BerlinClockUnitTests.pdb | Bin 0 -> 17920 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 13937 bytes BerlinClockUnitTests/packages.config | 5 + Classes/BerlinClockImpl.cs | 39 + Classes/ITimeFormat.cs | 12 + bin/Debug/BerlinClock.dll | Bin 0 -> 8192 bytes bin/Debug/BerlinClock.dll.config | 12 + bin/Debug/BerlinClock.pdb | Bin 0 -> 24064 bytes ...lStudio.QualityTools.UnitTestFramework.dll | Bin 0 -> 79624 bytes bin/Debug/TechTalk.SpecFlow.dll | Bin 0 -> 228864 bytes obj/Debug/BerlinClock.csproj.CopyComplete | 0 .../BerlinClock.csproj.FileListAbsolute.txt | 8 + obj/Debug/BerlinClock.dll | Bin 0 -> 8192 bytes obj/Debug/BerlinClock.pdb | Bin 0 -> 24064 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7022 bytes .../MSTest.TestAdapter.1.3.2/.signature.p7s | Bin 0 -> 9355 bytes .../MSTest.TestAdapter.1.3.2.nupkg | Bin 0 -> 781518 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 130192 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 24720 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 113296 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 73384 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 30864 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24208 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31888 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27816 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 30864 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31376 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31376 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27304 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32936 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25232 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28816 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31888 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27792 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31376 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 30864 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24720 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 34960 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 26256 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 29840 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 30864 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24208 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27280 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 29840 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 23696 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 26768 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 29840 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 23696 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 26768 bytes .../build/net45/MSTest.TestAdapter.props | 20 + .../build/net45/MSTest.TestAdapter.targets | 35 + .../netcoreapp1.0/MSTest.TestAdapter.props | 20 + ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 31376 bytes .../build/uap10.0/MSTest.TestAdapter.props | 20 + .../build/uap10.0/MSTest.TestAdapter.targets | 42 + ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 34960 bytes .../MSTest.TestFramework.1.3.2/.signature.p7s | Bin 0 -> 9355 bytes .../MSTest.TestFramework.1.3.2.nupkg | Bin 0 -> 1003364 bytes ....TestPlatform.TestFramework.Extensions.XML | 1097 ++++ ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 40080 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4391 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 73384 bytes ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4197 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4199 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4202 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 1097 ++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.XML | 93 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 22672 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4391 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 73384 bytes ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4197 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4199 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4202 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 93 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.XML | 113 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 25744 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4391 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 73384 bytes ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4197 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4199 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4202 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ ....TestPlatform.TestFramework.Extensions.xml | 113 + ...isualStudio.TestPlatform.TestFramework.xml | 4201 ++++++++++++++++ packages/SpecFlow.1.9.0/.signature.p7s | Bin 0 -> 9480 bytes packages/SpecFlow.1.9.0/LICENSE.txt | 31 + packages/SpecFlow.1.9.0/SpecFlow.1.9.0.nupkg | Bin 0 -> 6325761 bytes packages/SpecFlow.1.9.0/changelog.txt | 411 ++ .../content/App.config.transform | 9 + .../lib/net35/TechTalk.SpecFlow.dll | Bin 0 -> 228864 bytes .../sl3/TechTalk.SpecFlow.Silverlight3.dll | Bin 0 -> 220160 bytes .../TechTalk.SpecFlow.WindowsPhone7.dll | Bin 0 -> 245248 bytes packages/SpecFlow.1.9.0/tools/Gherkin.dll | Bin 0 -> 2647552 bytes .../tools/IKVM.OpenJDK.Core.dll | Bin 0 -> 3246592 bytes .../tools/IKVM.OpenJDK.Security.dll | Bin 0 -> 2530304 bytes .../tools/IKVM.OpenJDK.Text.dll | Bin 0 -> 628736 bytes .../tools/IKVM.OpenJDK.Util.dll | Bin 0 -> 1432064 bytes .../SpecFlow.1.9.0/tools/IKVM.Runtime.dll | Bin 0 -> 827392 bytes .../tools/TechTalk.SpecFlow.Generator.dll | Bin 0 -> 99840 bytes .../tools/TechTalk.SpecFlow.Parser.dll | Bin 0 -> 71168 bytes .../tools/TechTalk.SpecFlow.Reporting.dll | Bin 0 -> 110592 bytes .../tools/TechTalk.SpecFlow.Utils.dll | Bin 0 -> 13824 bytes .../tools/TechTalk.SpecFlow.dll | Bin 0 -> 228864 bytes .../tools/TechTalk.SpecFlow.targets | 65 + .../tools/TechTalk.SpecFlow.tasks | 17 + packages/SpecFlow.1.9.0/tools/specflow.exe | Bin 0 -> 49152 bytes 216 files changed, 201745 insertions(+), 2 deletions(-) create mode 100644 .vs/BerlinClock/v16/.suo create mode 100644 .vs/BerlinClock/v16/Server/sqlite3/db.lock create mode 100644 .vs/BerlinClock/v16/Server/sqlite3/storage.ide create mode 100644 .vs/BerlinClock/v16/TestStore/0/000-0000.testlog create mode 100644 .vs/BerlinClock/v16/TestStore/0/testlog.manifest create mode 100644 .vs/EPAM/v16/.suo create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/slnx.sqlite create mode 100644 BerlinClockUnitTests/BerlinClockTest.cs create mode 100644 BerlinClockUnitTests/BerlinClockUnitTests.csproj create mode 100644 BerlinClockUnitTests/Properties/AssemblyInfo.cs create mode 100644 BerlinClockUnitTests/bin/Debug/BerlinClock.dll create mode 100644 BerlinClockUnitTests/bin/Debug/BerlinClock.dll.config create mode 100644 BerlinClockUnitTests/bin/Debug/BerlinClock.pdb create mode 100644 BerlinClockUnitTests/bin/Debug/BerlinClockUnitTests.dll create mode 100644 BerlinClockUnitTests/bin/Debug/BerlinClockUnitTests.pdb create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 BerlinClockUnitTests/bin/Debug/TechTalk.SpecFlow.dll create mode 100644 BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.CopyComplete create mode 100644 BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.FileListAbsolute.txt create mode 100644 BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csprojAssemblyReference.cache create mode 100644 BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.dll create mode 100644 BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.pdb create mode 100644 BerlinClockUnitTests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 BerlinClockUnitTests/packages.config create mode 100644 Classes/BerlinClockImpl.cs create mode 100644 Classes/ITimeFormat.cs create mode 100644 bin/Debug/BerlinClock.dll create mode 100644 bin/Debug/BerlinClock.dll.config create mode 100644 bin/Debug/BerlinClock.pdb create mode 100644 bin/Debug/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll create mode 100644 bin/Debug/TechTalk.SpecFlow.dll create mode 100644 obj/Debug/BerlinClock.csproj.CopyComplete create mode 100644 obj/Debug/BerlinClock.csproj.FileListAbsolute.txt create mode 100644 obj/Debug/BerlinClock.dll create mode 100644 obj/Debug/BerlinClock.pdb create mode 100644 obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 packages/MSTest.TestAdapter.1.3.2/.signature.p7s create mode 100644 packages/MSTest.TestAdapter.1.3.2/MSTest.TestAdapter.1.3.2.nupkg create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.props create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.targets create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/MSTest.TestAdapter.props create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.props create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.targets create mode 100644 packages/MSTest.TestAdapter.1.3.2/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/.signature.p7s create mode 100644 packages/MSTest.TestFramework.1.3.2/MSTest.TestFramework.1.3.2.nupkg create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 packages/SpecFlow.1.9.0/.signature.p7s create mode 100644 packages/SpecFlow.1.9.0/LICENSE.txt create mode 100644 packages/SpecFlow.1.9.0/SpecFlow.1.9.0.nupkg create mode 100644 packages/SpecFlow.1.9.0/changelog.txt create mode 100644 packages/SpecFlow.1.9.0/content/App.config.transform create mode 100644 packages/SpecFlow.1.9.0/lib/net35/TechTalk.SpecFlow.dll create mode 100644 packages/SpecFlow.1.9.0/lib/sl3/TechTalk.SpecFlow.Silverlight3.dll create mode 100644 packages/SpecFlow.1.9.0/lib/sl4-wp/TechTalk.SpecFlow.WindowsPhone7.dll create mode 100644 packages/SpecFlow.1.9.0/tools/Gherkin.dll create mode 100644 packages/SpecFlow.1.9.0/tools/IKVM.OpenJDK.Core.dll create mode 100644 packages/SpecFlow.1.9.0/tools/IKVM.OpenJDK.Security.dll create mode 100644 packages/SpecFlow.1.9.0/tools/IKVM.OpenJDK.Text.dll create mode 100644 packages/SpecFlow.1.9.0/tools/IKVM.OpenJDK.Util.dll create mode 100644 packages/SpecFlow.1.9.0/tools/IKVM.Runtime.dll create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.Generator.dll create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.Parser.dll create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.Reporting.dll create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.Utils.dll create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.dll create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.targets create mode 100644 packages/SpecFlow.1.9.0/tools/TechTalk.SpecFlow.tasks create mode 100644 packages/SpecFlow.1.9.0/tools/specflow.exe diff --git a/.vs/BerlinClock/v16/.suo b/.vs/BerlinClock/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..5e73b753254def4b7b36c1128cff49cfe3f231b3 GIT binary patch literal 96768 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 SmrJF4d5OT>>3RRAjQCUTI~8QxSxCOdCqg5 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 z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72>d^G=s*Af0002U|Fsbk95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddDy zLk9u?0000${;!RY;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jedu9Xb#I00000@_%iF1P2Zr zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxiJ?9hP#00000kpF8VBsg&3z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede z;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQq zIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n? z4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj! z0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^` zz<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!K zaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB) z95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c z2M!!KaNxj!0|yQqIB?*=fddB)95`^`z<~n?4jede;J|?c2M!!KaNxj!0|yQqIB?*= zfddB)Xon7D000002Kigx<12&=7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd I0RzK<04CUzF8}}l literal 0 HcmV?d00001 diff --git a/.vs/BerlinClock/v16/TestStore/0/testlog.manifest b/.vs/BerlinClock/v16/TestStore/0/testlog.manifest new file mode 100644 index 0000000000000000000000000000000000000000..b6ec9cfc8fc7c2d61a23ce657712eaae9dee94e2 GIT binary patch literal 24 bcmXR;&-W=QP7PsVU|?VbVi2gA;FARaM*IZ( literal 0 HcmV?d00001 diff --git a/.vs/EPAM/v16/.suo b/.vs/EPAM/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..1fbfd08dd9cbc19bfe1d635a3894ff7c8b57f032 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 00000000..f8b48885 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 00000000..63330163 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,8 @@ +{ + "ExpandedNodes": [ + "", + "\\Classes" + ], + "SelectedNode": "\\BerlinClock.sln", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..d71cf1fc04b620722a45e87f13a46fb2b2437d81 GIT binary patch literal 397312 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 z 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

ujf)Q)5U?g%F{TVR6k}ePoQiTGa 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 Kt$J__-u(j}6=|IS literal 0 HcmV?d00001 diff --git a/BerlinClock.csproj b/BerlinClock.csproj index ac8af99d..e815d866 100644 --- a/BerlinClock.csproj +++ b/BerlinClock.csproj @@ -50,6 +50,8 @@ + + True diff --git a/BerlinClock.sln b/BerlinClock.sln index 082911a2..72a0370a 100644 --- a/BerlinClock.sln +++ b/BerlinClock.sln @@ -1,10 +1,12 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29609.76 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BerlinClock", "BerlinClock.csproj", "{0451204D-BF86-43E1-B560-FC9AC830B9A9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BerlinClockUnitTests", "BerlinClockUnitTests\BerlinClockUnitTests.csproj", "{EA813377-BCE1-493E-B513-C14A9C99838B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,8 +17,15 @@ Global {0451204D-BF86-43E1-B560-FC9AC830B9A9}.Debug|Any CPU.Build.0 = Debug|Any CPU {0451204D-BF86-43E1-B560-FC9AC830B9A9}.Release|Any CPU.ActiveCfg = Release|Any CPU {0451204D-BF86-43E1-B560-FC9AC830B9A9}.Release|Any CPU.Build.0 = Release|Any CPU + {EA813377-BCE1-493E-B513-C14A9C99838B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA813377-BCE1-493E-B513-C14A9C99838B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA813377-BCE1-493E-B513-C14A9C99838B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA813377-BCE1-493E-B513-C14A9C99838B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B88CF40C-E3CA-49EB-AAC1-9CB7836BA300} + EndGlobalSection EndGlobal diff --git a/BerlinClockUnitTests/BerlinClockTest.cs b/BerlinClockUnitTests/BerlinClockTest.cs new file mode 100644 index 00000000..168557cb --- /dev/null +++ b/BerlinClockUnitTests/BerlinClockTest.cs @@ -0,0 +1,121 @@ +using System; +using BerlinClock.Classes; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace BerlinClock.UnitTests +{ + [TestClass] + public class BerlinClockImplTest + { + [TestMethod] + public void TestFistRowOfLampsIsLit() + { + //Test if first row lamp is switched off + string aTime = "13:00:01"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("O", clock.FirstRow()); + } + + [TestMethod] + public void TestFistRowOfLampsIsOff() + { + //Test if first row lamp is switched on + string aTime = "13:00:02"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("Y", clock.FirstRow()); + } + + [TestMethod] + public void TestSecondRowOfLampsIsLit() + { + //Test if second row lamps are all switched on + string aTime = "21:50:02"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("RRRR", clock.SecondRow()); + } + + [TestMethod] + public void TestSecondRowOfLampsIsOff() + { + //Test if second row lamps are all switched off + string aTime = "04:03:02"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("OOOO", clock.SecondRow()); + } + + [TestMethod] + public void TestThirdRowOfLampsIsLit() + { + //Test if third row lamps are all switched on + string aTime = "04:59:59"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("RRRR", clock.ThirdRow()); + } + + [TestMethod] + public void TestThirdRowOfLampsIsOff() + { + //Test if third row lamps are all switched off + string aTime = "00:00:00"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("OOOO", clock.ThirdRow()); + } + + + [TestMethod] + public void TestFourthRowOfLampsIsLit() + { + //Test if fourth row lamps are all switched on + string aTime = "04:59:59"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("YYRYYRYYRYY", clock.FourthRow()); + } + + [TestMethod] + public void TestFourthRowOfLampsIsOff() + { + //Test if fourth row lamps are all switched off + string aTime = "00:04:00"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("OOOOOOOOOOO", clock.FourthRow()); + } + + [TestMethod] + public void TestFifthRowOfLampsIsLit() + { + //Test if fourth row lamps are all switched on + string aTime = "08:59:59"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("YYYY", clock.FifthRow()); + } + + [TestMethod] + public void TestFifthRowOfLampsIsOff() + { + //Test if fourth row lamps are all switched off + string aTime = "00:05:00"; + + BerlinClockImpl clock = new BerlinClockImpl(aTime); + + Assert.AreEqual("OOOO", clock.FifthRow()); + } + } +} diff --git a/BerlinClockUnitTests/BerlinClockUnitTests.csproj b/BerlinClockUnitTests/BerlinClockUnitTests.csproj new file mode 100644 index 00000000..98617433 --- /dev/null +++ b/BerlinClockUnitTests/BerlinClockUnitTests.csproj @@ -0,0 +1,74 @@ + + + + + + Debug + AnyCPU + {EA813377-BCE1-493E-B513-C14A9C99838B} + Library + Properties + BerlinClockUnitTests + BerlinClockUnitTests + v4.5 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 15.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + {0451204d-bf86-43e1-b560-fc9ac830b9a9} + BerlinClock + + + + + + + Este projeto faz referência a pacotes do NuGet que não estão presentes neste computador. Use a Restauração de Pacotes do NuGet para baixá-los. Para obter mais informações, consulte http://go.microsoft.com/fwlink/?LinkID=322105. O arquivo ausente é {0}. + + + + + + \ No newline at end of file diff --git a/BerlinClockUnitTests/Properties/AssemblyInfo.cs b/BerlinClockUnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..3057d3fa --- /dev/null +++ b/BerlinClockUnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("BerlinClockUnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("BerlinClockUnitTests")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("ea813377-bce1-493e-b513-c14a9c99838b")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/BerlinClockUnitTests/bin/Debug/BerlinClock.dll b/BerlinClockUnitTests/bin/Debug/BerlinClock.dll new file mode 100644 index 0000000000000000000000000000000000000000..821c8f30a2eae752f3360e417b3943357606770b GIT binary patch literal 8192 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 + + +

+ + + + + + + + \ No newline at end of file diff --git a/BerlinClockUnitTests/bin/Debug/BerlinClock.pdb b/BerlinClockUnitTests/bin/Debug/BerlinClock.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3af0ee2de60074a1e420ef1a0d383104bf91d1f8 GIT binary patch literal 24064 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 V9T(OApV7_JJ8toR$N!-W{1ZNTsUZLW literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/BerlinClockUnitTests.pdb b/BerlinClockUnitTests/bin/Debug/BerlinClockUnitTests.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d7284ab29438d56365125ce3cccfdac149e03305 GIT binary patch literal 17920 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 O2oxhwjKJiJz<&X}WJVbP literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..9c9f0dd067a1edaa47a52894e8eb0ea8e64ef2db GIT binary patch literal 79624 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 + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + Contains literals for names of sections, properties, attributes. + + + + + The configuration section name. + + + + + The configuration section name for Beta2. Left around for compat. + + + + + Section name for Data source. + + + + + Attribute name for 'Name' + + + + + Attribute name for 'ConnectionString' + + + + + Attrbiute name for 'DataAccessMethod' + + + + + Attribute name for 'DataTable' + + + + + The Data Source element. + + + + + Gets or sets the name of this configuration. + + + + + Gets or sets the ConnectionStringSettings element in <connectionStrings> section in the .config file. + + + + + Gets or sets the name of the data table. + + + + + Gets or sets the type of data access. + + + + + Gets the key name. + + + + + Gets the configuration properties. + + + + + The Data source element collection. + + + + + Initializes a new instance of the class. + + + + + Returns the configuration element with the specified key. + + The key of the element to return. + The System.Configuration.ConfigurationElement with the specified key; otherwise, null. + + + + Gets the configuration element at the specified index location. + + The index location of the System.Configuration.ConfigurationElement to return. + + + + Adds a configuration element to the configuration element collection. + + The System.Configuration.ConfigurationElement to add. + + + + Removes a System.Configuration.ConfigurationElement from the collection. + + The . + + + + Removes a System.Configuration.ConfigurationElement from the collection. + + The key of the System.Configuration.ConfigurationElement to remove. + + + + Removes all configuration element objects from the collection. + + + + + Creates a new . + + A new . + + + + Gets the element key for a specified configuration element. + + The System.Configuration.ConfigurationElement to return the key for. + An System.Object that acts as the key for the specified System.Configuration.ConfigurationElement. + + + + Adds a configuration element to the configuration element collection. + + The System.Configuration.ConfigurationElement to add. + + + + Adds a configuration element to the configuration element collection. + + The index location at which to add the specified System.Configuration.ConfigurationElement. + The System.Configuration.ConfigurationElement to add. + + + + Support for configuration settings for Tests. + + + + + Gets the configuration section for tests. + + + + + The configuration section for tests. + + + + + Gets the data sources for this configuration section. + + + + + Gets the collection of properties. + + + The of properties for the element. + + + + + This class represents the live NON public INTERNAL object in the system + + + + + Initializes a new instance of the class that contains + the already existing object of the private class + + object that serves as starting point to reach the private members + the derefrencing string using . that points to the object to be retrived as in m_X.m_Y.m_Z + + + + Initializes a new instance of the class that wraps the + specified type. + + Name of the assembly + fully qualified name + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + Name of the assembly + fully qualified name + An array of objects representing the number, order, and type of the parameters for the constructor to get + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + type of the object to create + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + type of the object to create + An array of objects representing the number, order, and type of the parameters for the constructor to get + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps + the given object. + + object to wrap + + + + Initializes a new instance of the class that wraps + the given object. + + object to wrap + PrivateType object + + + + Gets or sets the target + + + + + Gets the type of underlying object + + + + + returns the hash code of the target object + + int representing hashcode of the target object + + + + Equals + + Object with whom to compare + returns true if the objects are equal. + + + + Invokes the specified method + + Name of the method + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + An array of types corresponding to the types of the generic arguments. + Result of method call + + + + Invokes the specified method + + Name of the method + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Culture info + An array of types corresponding to the types of the generic arguments. + Result of method call + + + + Gets the array element using array of subsrcipts for each dimension + + Name of the member + the indices of array + An arrya of elements. + + + + Sets the array element using array of subsrcipts for each dimension + + Name of the member + Value to set + the indices of array + + + + Gets the array element using array of subsrcipts for each dimension + + Name of the member + A bitmask comprised of one or more that specify how the search is conducted. + the indices of array + An arrya of elements. + + + + Sets the array element using array of subsrcipts for each dimension + + Name of the member + A bitmask comprised of one or more that specify how the search is conducted. + Value to set + the indices of array + + + + Get the field + + Name of the field + The field. + + + + Sets the field + + Name of the field + value to set + + + + Gets the field + + Name of the field + A bitmask comprised of one or more that specify how the search is conducted. + The field. + + + + Sets the field + + Name of the field + A bitmask comprised of one or more that specify how the search is conducted. + value to set + + + + Get the field or property + + Name of the field or property + The field or property. + + + + Sets the field or property + + Name of the field or property + value to set + + + + Gets the field or property + + Name of the field or property + A bitmask comprised of one or more that specify how the search is conducted. + The field or property. + + + + Sets the field or property + + Name of the field or property + A bitmask comprised of one or more that specify how the search is conducted. + value to set + + + + Gets the property + + Name of the property + Arguments to pass to the member to invoke. + The property. + + + + Gets the property + + Name of the property + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + The property. + + + + Set the property + + Name of the property + value to set + Arguments to pass to the member to invoke. + + + + Set the property + + Name of the property + An array of objects representing the number, order, and type of the parameters for the indexed property. + value to set + Arguments to pass to the member to invoke. + + + + Gets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + Arguments to pass to the member to invoke. + The property. + + + + Gets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + The property. + + + + Sets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + value to set + Arguments to pass to the member to invoke. + + + + Sets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + value to set + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + + + + Validate access string + + access string + + + + Invokes the memeber + + Name of the member + Additional attributes + Arguments for the invocation + Culture + Result of the invocation + + + + Extracts the most appropriate generic method signature from the current private type. + + The name of the method in which to search the signature cache. + An array of types corresponding to the types of the parameters in which to search. + An array of types corresponding to the types of the generic arguments. + to further filter the method signatures. + Modifiers for parameters. + A methodinfo instance. + + + + This class represents a private class for the Private Accessor functionality. + + + + + Binds to everything + + + + + The wrapped type. + + + + + Initializes a new instance of the class that contains the private type. + + Assembly name + fully qualified name of the + + + + Initializes a new instance of the class that contains + the private type from the type object + + The wrapped Type to create. + + + + Gets the referenced type + + + + + Invokes static member + + Name of the member to InvokeHelper + Arguements to the invoction + Result of invocation + + + + Invokes static member + + Name of the member to InvokeHelper + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invoction + Result of invocation + + + + Invokes static member + + Name of the member to InvokeHelper + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invoction + An array of types corresponding to the types of the generic arguments. + Result of invocation + + + + Invokes the static method + + Name of the member + Arguements to the invocation + Culture + Result of invocation + + + + Invokes the static method + + Name of the member + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Culture info + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguements to the invocation + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguements to the invocation + Culture + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + /// An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Culture + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + /// An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Culture + An array of types corresponding to the types of the generic arguments. + Result of invocation + + + + Gets the element in static array + + Name of the array + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to get. For instance, to access a[10][11] the indices would be {10,11} + + element at the specified location + + + + Sets the memeber of the static array + + Name of the array + value to set + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to set. For instance, to access a[10][11] the array would be {10,11} + + + + + Gets the element in satatic array + + Name of the array + Additional InvokeHelper attributes + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to get. For instance, to access a[10][11] the array would be {10,11} + + element at the spcified location + + + + Sets the memeber of the static array + + Name of the array + Additional InvokeHelper attributes + value to set + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to set. For instance, to access a[10][11] the array would be {10,11} + + + + + Gets the static field + + Name of the field + The static field. + + + + Sets the static field + + Name of the field + Arguement to the invocation + + + + Gets the static field using specified InvokeHelper attributes + + Name of the field + Additional invocation attributes + The static field. + + + + Sets the static field using binding attributes + + Name of the field + Additional InvokeHelper attributes + Arguement to the invocation + + + + Gets the static field or property + + Name of the field or property + The static field or property. + + + + Sets the static field or property + + Name of the field or property + Value to be set to field or property + + + + Gets the static field or property using specified InvokeHelper attributes + + Name of the field or property + Additional invocation attributes + The static field or property. + + + + Sets the static field or property using binding attributes + + Name of the field or property + Additional invocation attributes + Value to be set to field or property + + + + Gets the static property + + Name of the field or property + Arguements to the invocation + The static property. + + + + Sets the static property + + Name of the property + Value to be set to field or property + Arguments to pass to the member to invoke. + + + + Sets the static property + + Name of the property + Value to be set to field or property + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + + + + Gets the static property + + Name of the property + Additional invocation attributes. + Arguments to pass to the member to invoke. + The static property. + + + + Gets the static property + + Name of the property + Additional invocation attributes. + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + The static property. + + + + Sets the static property + + Name of the property + Additional invocation attributes. + Value to be set to field or property + Optional index values for indexed properties. The indexes of indexed properties are zero-based. This value should be null for non-indexed properties. + + + + Sets the static property + + Name of the property + Additional invocation attributes. + Value to be set to field or property + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguements to the invocation + Culture + Result of invocation + + + + Provides method signature discovery for generic methods. + + + + + Compares the method signatures of these two methods. + + Method1 + Method2 + True if they are similiar. + + + + Gets the hierarchy depth from the base type of the provided type. + + The type. + The depth. + + + + Finds most dervied type with the provided information. + + Candidate matches. + Number of matches. + The most derived method. + + + + Given a set of methods that match the base criteria, select a method based + upon an array of types. This method should return null if no method matches + the criteria. + + Binding specification. + Candidate matches + Types + Parameter modifiers. + Matching method. Null if none matches. + + + + Finds the most specific method in the two methods provided. + + Method 1 + Parameter order for Method 1 + Paramter array type. + Method 2 + Parameter order for Method 2 + >Paramter array type. + Types to search in. + Args. + An int representing the match. + + + + Finds the most specific method in the two methods provided. + + Method 1 + Parameter order for Method 1 + Paramter array type. + Method 2 + Parameter order for Method 2 + >Paramter array type. + Types to search in. + Args. + An int representing the match. + + + + Finds the most specific type in the two provided. + + Type 1 + Type 2 + The defining type + An int representing the match. + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets the current data row when test is used for data driven testing. + + + + + Gets current data connection row when test is used for data driven testing. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + + + + + Gets base directory for results from the test run. Typically a subdirectory of . + + + + + Gets directory for test run result files. Typically a subdirectory of . + + + + + Gets directory for test result files. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + Same as . Use that property instead. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + Same as . Use that property instead. + + + + + Gets directory for test run result files. Typically a subdirectory of . + Same as . Use that property for test run result files, or + for test-specific result files instead. + + + + + Gets the Fully-qualified name of the class containing the test method currently being executed + + + + + Gets the name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + Adds a file name to the list in TestResult.ResultFileNames + + + The file Name. + + + + + Begins a timer with the specified name + + Name of the timer. + + + + Ends a timer with the specified name + + Name of the timer. + + + diff --git a/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..740d01fd3857259353f56a8c44745531ec2ebd99 GIT binary patch literal 73384 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 LZzAJ}Rd)Ul&m9{B literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..a71d66ca --- /dev/null +++ b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4391 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Specification to disable parallelization. + + + + + Enum to specify whether the data is stored as property or in method. + + + + + Data is declared as property. + + + + + Data is declared in method. + + + + + Attribute to define dynamic data for a test method. + + + + + Initializes a new instance of the class. + + + The name of method or property having test data. + + + Specifies whether the data is stored as property or in method. + + + + + Initializes a new instance of the class when the test data is present in a class different + from test method's class. + + + The name of method or property having test data. + + + The declaring type of property or method having data. Useful in cases when declaring type is present in a class different from + test method's class. If null, declaring type defaults to test method's class type. + + + Specifies whether the data is stored as property or in method. + + + + + Gets or sets the name of method used to customize the display name in test results. + + + + + Gets or sets the declaring type used to customize the display name in test results. + + + + + + + + + + + Specification for parallelization level for a test run. + + + + + The default scope for the parallel run. Although method level gives maximum parallelization, the default is set to + class level to enable maximum number of customers to easily convert their tests to run in parallel. In most cases within + a class tests aren't thread safe. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of workers to be used for the parallel run. + + + + + Gets or sets the scope of the parallel run. + + + To enable all classes to run in parallel set this to . + To get the maximum parallelization level set this to . + + + + + Parallel execution mode. + + + + + Each thread of execution will be handed a TestClass worth of tests to execute. + Within the TestClass, the test methods will execute serially. + + + + + Each thread of execution will be handed TestMethods to execute. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define inline data for a test method. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is false. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is true. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null. + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is not equal to . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Determines whether the first collection is a subset of the second + collection. If either set contains duplicate elements, the number + of occurrences of the element in the subset must be less than or + equal to the number of occurrences in the superset. + + + The collection the test expects to be contained in . + + + The collection the test expects to contain . + + + True if is a subset of + , false otherwise. + + + + + Constructs a dictionary containing the number of occurrences of each + element in the specified collection. + + + The collection to process. + + + The number of null elements in the collection. + + + A dictionary containing the number of occurrences of each element + in the specified collection. + + + + + Finds a mismatched element between the two collections. A mismatched + element is one that appears a different number of times in the + expected collection than it does in the actual collection. The + collections are assumed to be different non-null references with the + same number of elements. The caller is responsible for this level of + verification. If there is no mismatched element, the function returns + false and the out parameters should not be used. + + + The first collection to compare. + + + The second collection to compare. + + + The expected number of occurrences of + or 0 if there is no mismatched + element. + + + The actual number of occurrences of + or 0 if there is no mismatched + element. + + + The mismatched element (may be null) or null if there is no + mismatched element. + + + true if a mismatched element was found; false otherwise. + + + + + compares the objects using object.Equals + + + + + Base class for Framework Exceptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + 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 Access string has invalid syntax.. + + + + + Looks up a localized string similar to The expected collection contains {1} occurrence(s) of <{2}>. The actual collection contains {3} occurrence(s). {0}. + + + + + Looks up a localized string similar to Duplicate item found:<{1}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Case is different for actual value:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference no greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1} ({2})>. Actual:<{3} ({4})>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected any value except:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Do not pass value types to AreSame(). Values converted to Object will never be the same. Consider using AreEqual(). {0}. + + + + + Looks up a localized string similar to {0} failed. {1}. + + + + + Looks up a localized string similar to async TestMethod with UITestMethodAttribute are not supported. Either remove async or use TestMethodAttribute.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + The test class attribute. + + + + + Gets a test method attribute that enables running this test. + + The test method attribute instance defined on this method. + The to be used to run this test. + Extensions can override this method to customize how all methods in a class are run. + + + + The test method attribute. + + + + + Executes a test method. + + The test method to execute. + An array of TestResult objects that represent the outcome(s) of the test. + Extensions can override this method to customize running a TestMethod. + + + + Attribute for data driven test where data can be specified inline. + + + + + The test initialize attribute. + + + + + The test cleanup attribute. + + + + + The ignore attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets the owner. + + + + + The test property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + The class initialize attribute. + + + + + The class cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The assembly cleanup attribute. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + CSS Project Structure URI + + + + + Initializes a new instance of the class for CSS Project Structure URI. + + The CSS Project Structure URI. + + + + Gets the CSS Project Structure URI. + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + WorkItem attribute; used to specify a work item associated with this test. + + + + + Initializes a new instance of the class for the WorkItem Attribute. + + The Id to a work item. + + + + Gets the Id to a workitem associated. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Specifies connection string, table name and row access method for data driven testing. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + The default provider name for DataSource. + + + + + The default data access method. + + + + + Initializes a new instance of the class. This instance will be initialized with a data provider, connection string, data table and data access method to access the data source. + + Invariant data provider name, such as System.Data.SqlClient + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + Specifies the order to access data. + + + + Initializes a new instance of the class.This instance will be initialized with a connection string and table name. + Specify connection string and data table to access OLEDB data source. + + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + + + + Initializes a new instance of the class. This instance will be initialized with a data provider and connection string associated with the setting name. + + The name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + Gets a value representing the data provider of the data source. + + + The data provider name. If a data provider was not designated at object initialization, the default provider of System.Data.OleDb will be returned. + + + + + Gets a value representing the connection string for the data source. + + + + + Gets a value indicating the table name providing data. + + + + + Gets the method used to access the data source. + + + + One of the values. If the is not initialized, this will return the default value . + + + + + Gets the name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + diff --git a/BerlinClockUnitTests/bin/Debug/TechTalk.SpecFlow.dll b/BerlinClockUnitTests/bin/Debug/TechTalk.SpecFlow.dll new file mode 100644 index 0000000000000000000000000000000000000000..4218e27de75075b03fef130da30cee8b25b56fd7 GIT binary patch literal 228864 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%0DsxDjvrY?o(wv}_acRyjuR?PwtNL>{hZUN0NvS*w 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 ibO^k^m7%FbP#rieMKDqF5;^V8^bA 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 QD4sbprOLa#Y&Z6Q03U3F0{{R3 literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..1271fbb66e8951979e00f8b65fbe3772ddfee709 GIT binary patch literal 24720 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 literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/BerlinClockUnitTests/bin/Debug/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..117976944711932bac8181d9a3a5614f01bfa822 GIT binary patch literal 27280 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 MKHVG#O&a!p0Dyjq0{{R3 literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.CopyComplete b/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.CopyComplete new file mode 100644 index 00000000..e69de29b diff --git a/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.FileListAbsolute.txt b/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.FileListAbsolute.txt new file mode 100644 index 00000000..290290ab --- /dev/null +++ b/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csproj.FileListAbsolute.txt @@ -0,0 +1,21 @@ +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\pt\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\pt\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\pt\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\BerlinClockUnitTests.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\BerlinClockUnitTests.pdb +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\BerlinClock.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\TechTalk.SpecFlow.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\BerlinClock.pdb +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\BerlinClock.dll.config +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.xml +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\obj\Debug\BerlinClockUnitTests.csprojAssemblyReference.cache +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\obj\Debug\BerlinClockUnitTests.csproj.CopyComplete +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\obj\Debug\BerlinClockUnitTests.dll +E:\Users\Iverson\Documentos\Projetos\EPAM\BerlinClockUnitTests\obj\Debug\BerlinClockUnitTests.pdb diff --git a/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csprojAssemblyReference.cache b/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.csprojAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..b184ee978f6d4c0df8ed53f1d3d95f8a05dac9fe GIT binary patch literal 4869 zcmeHLUvC>l5WhX&o$oGflT@O#P*4g;{Aqf&m6)~>Rh62ARwbdW-SAKcvp%owt6eRjm-pglz`JLm$O$s#7hgQl+9`Eh#&d$#KW@h&^rfJ%r zMED0C(usYsBK?wD0_=>a$0^uj5g7PkN)lGOa5YXDm5i`L4ai~QD+)pFkTIPNd#rduMOpv;js6XJb zh;7KN%6r0~PGzm}AQei}a++yQ*vGc?_$+S8kO$jy9$!CqF;m%~1)zmvf?+uWU4JtV zQzja+6OwT&TnUY_DNIDal_yqNTBzStWc2!#4dPK)|2Xo~z6g^@)vv|TZGpzpwZ)Zs zQ_@S(Ogr^UA`WC&2_nDewSr&@T4c)E)G)zL|Ev8^FOO{R()e6IY8mwF={z)AVxTMq z-zYOqNG-h`n(dHGX|%&DEvwxp#oE}o#k3q_jy=13xoVdz-SQTd68&bdxyt)u>24xI zU<=;#_A}wuI;OBATdvu1Df)i+{HV45^{;led51b2Y{r=&W*s8tZp;&i=ZbTs^UOJn z-Xp{gd#g*e<(PE36U9AilDae#v-h=)qnOp@YH`&FNt8b5~1KS+7( zcQK}NMfYW%8r{X92j!^$rYL0OHxR;&hGrXI zk+8=k?EmTigiNepy+Z6NB4VLXC@d`$vXCuog=}FbWDBE^Eg)nI6taaZWD8?fK*+k* zF_L&`tamK+BJVy+<_*&zASrGhpwFy{Ol0f}#c-7KD%f$b6JW0qn??+Q41~=tTwxij zvBGahG5twOZdM~JB~Igp*pLWvOtpzH6bTPi2s8-ouT0-s{8@0 z4q!Eel}BhO?-bxQsZt(Ple8rx?>aTuI**MF9ocZCuHi;6GSu%h3#AWlBhl>pLW^};D^%k^3KZddbYl3zJ zAelVr3S^e2xq_Xc7kdQ&2bq9xFE;K^KX4ZqKmh?bE;0Izh{5-J1en;%ek=iz$9?)# aBwHfBArc;Uh|ve5Wx9aV{g_^}iN64+e7b@F literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.dll b/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.dll new file mode 100644 index 0000000000000000000000000000000000000000..5852f40ebcd7cad85bf80d0d27221d3ceeeabeba GIT binary patch literal 5632 zcmeHLU2Ggz6+W~6iR};*J5HU1l1%JGG;O@{#h-jq-BqTsZAfddVfGSZ?1Qk4>h==k32ob(>W@dN% z6JsPE5aO=qn|prlch5cd&Ye4+JohE4BBE+s4;~QR#+}Qc;P$WvbK{ZkHPV~)caGjx zChigh3}38jjzUi<5_ zVQ=@SP2H_@f*hJ!U;E7t+*MqIxQO;jJ?6*FiolI%4FdFBs%Y^G?8<+Ydmyq3B@Nyw zt_%{r!-?2f7KuIp-J>UQZM1DCt3-7XdmZFYMC7=qU-lrsz6SuCj5UZGk`$F_G48ld z7Lvp^hzd`Xj0g9i3?lltqnkDyIaXT4#au18B4vHigza3+lcK}5>UR6t11$*fI*avA0Zng9*{VG;V?+N}`a9LqZ zx8S6pC;BASf?=QFP0@UjJ{)VHqe?IQzfyIV>(m=-q_<<~ss=hx-OB+6k#NowjP^+N za@CmBr&YFI!&8gs=t>~ffJ>p9f%H}MsLGRZ~#4*<+6vqrq z06#=4z;^P0PtZ%iF2Roqj)?w~^fL4*(L5uVrPrZZpI_wIm0#9>4sca zFJ#QswBbcv%W6l<=>^SMsj#FqC$D?scx~&K?5H7ZGj5probI@WZB<%@#u3|EGV&!y z^R_gP>TcFCitCMtyJ(owVn#Q$%TjYI+&umfQ*$G#u)Aposmpp5-_S5(7grr4zr3ZX zP}Ho|N}HLIkBGJ78GwfO$qFn1JsEhV*;;DoOL&7PeD5m?J3v?s3-7+wtj~EA2oGS zw=no@Y@5QVnSY_Jhx(;8jtKDf`wNj;=V=~X8?oZ)vv(4;hP>V9{=;X8md+mrLIaPr3RIzCKekRVl}&Bjm?v=G}i4^ zV#;AUOjQj^W8GVyS(rQ6eeZhRttZcauIU#I19eJpqCd>9`E=}&Pdi%itZj{5&g!zc zrI#K1lB>XPm%=d|RH!AgCMzqAYQ)~EP;+_9Qh)TCs-EiPGu8=(j_F!oqN}U7w}Gh+5Y~%uD%RT`{*ix!x?@=Nreu@&yJUtFFK70rD;Z--28cltt<~L`4^44z$ zzoos`dZhT$47VB^SeV5Mb{CQtfwr|UYG+FY-STXA0sHm^ohxJ0Lz4?zWoE(7Tv(8& zdP{S>n8Tp|>&unkn~DQ{h3hKUHka_*%eR~#v7J%VoYV}?6Pcqa2yg({N|`!t;w$zam-l#MeTMW+c*`_8q4j+VK}5uY+cAPJk~jY@DGYt;)#qw2YWZ zvbJ8Q(rZ}UDxE@n3EtW94a)hg@c1*C18)Jm4ssA?o9LX3V=Cx_GsWWwbITIX5dY(2 zXSs}y=P8+|X>i*ZWeM5$A{p8_C%VV`ljmnW*Tz}eI7fZbW(cEoW$YP@Y!#XMSM9jJ V9T(OApV7_JJ8toR$N!-W{1ZNTsUZLW literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.pdb b/BerlinClockUnitTests/obj/Debug/BerlinClockUnitTests.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d7284ab29438d56365125ce3cccfdac149e03305 GIT binary patch literal 17920 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 O2oxhwjKJiJz<&X}WJVbP literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/BerlinClockUnitTests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..9f89a0ccae91d59a1d62307001b272393bb9c87a GIT binary patch literal 13937 zcmeHO-FF*D6_*lc8#_&jLrK$w78MG##VmGg=L-V(Lr&D%jw&fmAZwh_Y9vp*AIj{k zZPl0phr<)R@xTM;0I!_W!=DJhJ1ea|Y6qWUP5j`^(Ri~T^ZU)6J9qBfxtqymGMWG2 zpucpyeg;KtMYuAI!n(58L=-cxtm2vo?S;_y!=SL3pUACo8Hq5sH+9pVq<<5+h1gTE z$CM+^{J`a>?E6J=LqulAxQJF@M?rt2o#rL z^RZ;jCYN@J$wJVKRrEGqew%q-xWj96QN;bK*UIlI9uTYOBA#9dgSu!e36EcKSx^%- zrg-N`x*A=t$DX$&na_7Zxz)Kb@|FhAB=WyoQQ;h0%j@W#HCI7>F${ z-#hs7qKKLvYZ2h!i)}@_p1fF;q06HvlyhJ&6xsxpYrn#4r8rQ+=j~SpYf7XPU5z7N z;&m>0fU1^c=%do-sOb&axvIrtow3eZRwi>6<(X_YYvG47bLQ{o%B@IoAL@zzbrmU` zeV+$h3fEqSu%1mlefp9|Fe28N7xN+$^4X2_(Xx^vXiVh%$PJ|@s@*X*bL1g*>lT}J zXKzm3nV#X3x9_Y^yo|>Qr8*2btRJsfPk43N?5TpnmxK17O06JCBVd&7Q zf*#kzxt=9Ic=RlavC$DaJx2xHfz0S@DDdYz6{A#)QE>sqnDsi!jCB#k{9dW;Io&P8 zk=|jFJE^nl*sJ+U>O)R!&)BmQ9S5}SZ02|Otv67Q%-?k$MeshI!ZykkZj1 zb2s_u*QgPfP+aTh*>U=buQiVQm+5{kZAgx;U&i$j{lwSl%#Va;y@|6iT${9~C#R?G zjD7?E&y0Q6r!`X24(x%%({RWi^KgDl>;_A@{{DC&GV+Cwi#{{e#>RdQ_omBy&t4(N6?Yht3 zLq&i7KjqhLcw&&S^m78PW@eA1mi?k5J^VH}{q+QK>PBU>$i4%58w+=7>S`eNlGCA> z+y}e2Z+_^c6H%@`86sTKm4cH>s(<=)XtHrS%VrJoK0vBN07+N%GBKgw1P3p!n5IJ*WiTH@p!u&oMyfDjv8vX%bf15Rd>o>yyja>VwF>+IRQ851ghjy+LXDJgBLvq1 zgppm9Os*3kuw#~hw)ndBKQs?s2}3Vwxef4^*_KxzcZ4E!+kXW3*Z_PhU_Qd9?Fg=h zo&eCYdLSY@90OpkdDJO$v*;R6>QYP1_bdp>-$Wf8p4c+CHekgy@TW1CE!suW$Txv(VE$g^%Epg&vI+q$Q@iSX%S_ve zK~V}{D6!pM65R%}9KNa%a*4l)v5H7+<{jV~@K_#JY1=4q8%W9S0=7B)=E6&EZ#!uP z`!P@rSm++qJo;Ee{{+y#H{hWRVi%V6c3W4)?}5ngUICG1(b!ZwoJuW_pMr-0KdDz9 z>7KVHKtVFI1O|ru&q3gG6JwwgdMUMoFe@xTpigQk%z=b&fJCz0tRd$CxoZw`U{SpQ z^nG*a?WBw}u1Lmj5fuJpVhFZ{KFHy*2x{R@)ayXzLCJup(}7$?R30e+$rQ8%Y!j>3 z4mkQkbiLS*u}`4Y@;+$%(O|Fi(-^P~4?xC*ZD?yqKbI$d;t3W&!oWZ+bA(WYYLQD6 zxT47t^pAmVU^UksnTcz%7&kq>tJUEXz#CXb_rX6WTX`zWM}NJjc02pCvWSNN{7^MM=II$?w&fPXXm3927>V3PdQi~?v5*!zt= zCI{EQB~SOmkC+QNYiO*y;QQ4qV}b$T$2jG!QC*gU z;_BYQfuBn3TkE*Hc1Syt&q9)&d + + + + \ No newline at end of file diff --git a/Classes/BerlinClockImpl.cs b/Classes/BerlinClockImpl.cs new file mode 100644 index 00000000..3d5e1de2 --- /dev/null +++ b/Classes/BerlinClockImpl.cs @@ -0,0 +1,39 @@ +using System; + + +namespace BerlinClock.Classes +{ + public class BerlinClockImpl + { + + public BerlinClockImpl(string aTime) + { + + } + + public string FirstRow() + { + throw new NotImplementedException(); + } + + public string SecondRow() + { + throw new NotImplementedException(); + } + + public string ThirdRow() + { + throw new NotImplementedException(); + } + + public string FourthRow() + { + throw new NotImplementedException(); + } + + public string FifthRow() + { + throw new NotImplementedException(); + } + } +} diff --git a/Classes/ITimeFormat.cs b/Classes/ITimeFormat.cs new file mode 100644 index 00000000..cc1f454d --- /dev/null +++ b/Classes/ITimeFormat.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BerlinClock.Classes +{ + interface ITimeFormat + { + } +} diff --git a/bin/Debug/BerlinClock.dll b/bin/Debug/BerlinClock.dll new file mode 100644 index 0000000000000000000000000000000000000000..821c8f30a2eae752f3360e417b3943357606770b GIT binary patch literal 8192 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 + + +
+ + + + + + + + \ No newline at end of file diff --git a/bin/Debug/BerlinClock.pdb b/bin/Debug/BerlinClock.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3af0ee2de60074a1e420ef1a0d383104bf91d1f8 GIT binary patch literal 24064 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 KknlhpdfYBbW|E+7KkxhdFDPg3_ndRj zJ$FC%KFQT{%w;x>uY1)S!i{ThnE0 zQ^u-PQ+ru+Q%8rhCnvYsz_~O8+~bCL|XA zJn7NIJW9asS~n%kKOdoJ_$H=kB8ZQ--I^G0$^M;3HS`PnlZWS5sH0it%rAM#BK zw^+DLi0F+%ElLH$AClr6g*k`^bFKBRsn`F6r_`&GJHB|R)VJ#O;}fChlOY{4{8!aO-!YLCHlXaZ>-!r4E{!`S=bLVRWB34Q~_#_8m=Ibt%#N}6**Ne z!lZaSGD%__8dG{#AhKSCEYNF|LMy=Jn@ zFT2o5TEH8x&^ZaXqPz>exW7Q!3)Ws;s<5qQa3c_k)6~xIIQXdse z-3nb-4_%CrYSSrB=8tfTx8M`j$q2MD%RG5fUX&|DKb>hTj*^f06{#?uu!U;C$@p2h z+82eSYM_GtT#*5c8gLSeyH`eK*4!7e-s|MH|jd2=vaf_Ex7ieOg8UeE8 z7(VRy*M;I!y!(0>yu+(g8GC%(I@ozHGMJ>Dp`HPjLbeE##i+T z#?aUH$$whP(fb6OuiYn{?%5~o(AV_IzvRKNIG3dLG>gn> z#f-7U2xB2w?kROX2KV-blbR|CiD6Tku#HKoBlMSovT65T; zy(#pH#yBxHbs=;R53V4#rGxfRI-F3xp-SuxXUwW(77V9WoH%l1^=xYY1j^=w!n6H%H|vn;=?6&K~^kI)1HB`#kk0^G@Fpv)hB515$le#P{} zuqk+up&#b*-N@(WJ(5~0E@f4EHWL2AKy_4ljX6jsydJNC$?x|TEeUv~F%QYwH$29C zd=`#euNVq0Nn@J%gM}fFu>gsDS9QFPE7nL!w@>Co+&N1Pj3B?U2xO=)^#mGUr6ca5 zB_ZgZ1VQ47L*YKIFADombcHG4e-(L+B~CuGa#Uvxts})^G2t>11{Ae2;nQ8|rBL2b zHA9VoIB_tB!9krp0!>TDtw`z_6kixS1rom}UR^dGQDLBn7qN;$X`ti%dxD7heH2`dtEsNA4@5TZi#87FiEgPJpy+o_?|ROX~w|6y45RqAz^PKEWJ z>!+?nCB29WrCwru1FnoLp~ZU{Qf2@`)~vbY_^{UTfs@JyRNC~R24x(@2Nw0_1G%sq z1t-{rCdUQJ(bI*r;{qp9Hti#h58pVt4=g&G4_FdRADSH>C`V5p&TxF-r0D~Oh1m`l z9Nh;N-358~Z4PT*i|qpTJ*y`uLr)jhJ1%gN+Q2D)|Iy25(N~lo=WbZ(lusFYmVdTW zJ|}7ZV;~8vK@pkyjLMI@dR9^zSTFooJw3*1Bm!QY&qZ;0sM2G!f|GdjP{h-P{aC{p z&f`;4mhG9l6eg;gr-Mc56cIs@!Wp06biCrET9;^!D8K6A(pUP`znfpd6lF1sHa&c` z7Z0l}pRlO1Pxi_A9CB$WT~=_4+6n8D>CZV|=TD*K54K2BHV@{eC$IPBiPJuVr*-q? zJlhvekuT4|7a#Z8uaD-73a9e4LVx;n>NC}c!RpOE?!!<{qSlje75S^%^|-EEr)`c7 z)_=ScNK;+!%`w^_jK?$bdg<+-9bbH>c<#j33Rw0_gYgcsb_G zFTecqP}IjmCf^hB#Jv%Z8Z~C0)QXEA5>Zq$W1M{387G`nYX~+g{v%U)Zj6)TL3&J5 zB|51W5%$?VFpG|&+}3Dy#^!}inVjri=IW!D$)c|)6PGch(zDD{H+P5ZgjHaMn#titx6glXl0!#?pV6rrYPw}n8cb=;bhFPIy}TCb5tCyl*y*v zNA%J9$k_F8EPi5lqkS?D&Ddc4J{}Q$GLO#0j;*tb!MGyV>B!>`eB!r|g!0S@rKFU#FeV&BaFC zJ?gd7sTU_vADYL9@fqNG9P=Dyjnh*s+5&m^VO{7~lR8kn*~^nUsQZj5a3*oOFFv|^ z^*m;`4~Bv-BNXqlybo3PXwb|&F>IQuc|z=x*|?sfC4O(_r1q*w?TWZCsa@uzMm^P9 zdz`rV$?o&|J5J+plKR}$J)YLn@8Px>V{I?A6Gf?O&>${P>`cq49!-9YW0jL%XER=u z`c3aPGtQIWBctXu6Q`B0)u^A2el*V=y36vjnEiBT_-RG$8Af+!809qA|7bSj#q4Kq zHZi7jjwgcfC4Cl}#;+GHv<6Ac93(!($NH?IB@3$yJ-$A=fk?zZGzY=A$CqPl08rhT zc=}MZx4xuvgX+sXF?yQnODY$OhzQYGM%{ma8U=K$7?gnBk+QJLYixvV191nP3aSw4 zZ=$5z8*wA9P);D}Rmq4a;vMNO%=aDY2hGjUOgyE|1O@h)pr|V1t1^A55aUi&@jv;p z9lqc&(2FlVPfgI}S?KmH#D&I*McuqgWP0VYopP&`YnFRfjX&&)xKAv~_Z+IQ9Q$>5 z$6SRA-Gy90VO7Lwui@gDR^=nDY4^d$T=?ip`Mj9>$AWa9;8LH6Eni4%&7aF$xsN1Jj{Vf^UeML)xDm;n%%PW)MJ zBmtk$KOJF>K@EDDRBDbKhnh&(i4HyeDq0r8?tYBx)g(+A1vtx zy2PI-h+&MW)>mpLlNzFlpOVR6AFV<^fs`vGV?RPN_ASdu74LHp(<9A@ZXm$%;{xL@ zD8(1a80GVD$;V({6e#CbaC$GrD!?vFk3E9cjGb?ll^#UCA~$K&O#82lU65^znih+W z>R?WQfz?1UH~|KRy9@UyE-?vph|v6uT?jjRs?8ewF`OnmuGID{tj8{b7A{*{MaIQQ zZDKnqGc)?>YP+8>yjY0UHL9*PV-LV0Uz5A}np5GqQXhCW!jH)?hZXrz(!sJG1&j4@ zO;|=xIO*Oq_6SMoRy1mwURO2W)Sm5A|vhmPR4qs&?Jjo*JLKj5{C^P0tBmeHO;qq_t{oosh>Zv^g=*a31S)vL@M`xObv zAFQ9X_>A`E7kUnS*Yc?98me381Qh7^xQ#2}Aq-Id(MQkkJ6e9!@hY-#dT;*4eofvT zrCLvr?5dvG%6zVFzE&ORMT<^*E({FoZpyvKsoc<`xbvH@aOdDr-RWNS-rb3Pl{=V7 zm|U@EsSL~sq%m<`AjH$E40&mm*c=~52D-}~dyaJSG3FMdZ?MnzGEZu)VTVaVvjj7$ z_gUh>j4-aI&f=ktA~4jWYNXRdbwjRPKv`5KA|HWWqeq#z%^#gvD6D){scuZeT~ut? zozM%bF}p5lEn31?iUDt-dr#QyEi$fw0=tE_SngF`4W&07FwtCzpp+Z2O1NUbLwhJ5 zk6B%u0UwLtqfB253!6w=A2{0hE`UE8@Zj3Dy3v<&O+JEe<9lExa**J~V!VvK2y1}f z2fvSITu0)*>D~AUWXZh755S|)eGfi4FwF5?(pq~H`{3brLNpQKtW*nLuIhq6jhkp`v_O zG~bTo0g1A#~&;zu*wjDu6u13$R=t8?rms(_fmf6Pd_I|=uZUlgJn%ZUih06 zW1a)&OK7~9`|NF5yN)aNHabo3!rYM9X}o&+FmW(W$D?7eciQ*2+}l)Hxc186K44Dk&DNXSImKL^hfeambweB z6`MEju00h+`kvTyl&vo3X}S0V`I-?atOm}E6bM(H&ilSnrKmuKc`Tyywt@2cWwb}O zN)%&tGUgL@PvZ`%w>Oa&yAz4b&DZNTehilX(BPoY-sXJfHm7f<dM-O3KSn|e-%aHsA~3@n*?su=Jv0E1;l+dV#7hct`l>Pd^a}VCLrwk0 z&p>K=ShI)b!x(m0H@+&KA(s)ssfzx`@yzC)+qM;g{+R{=$AfCuW=tXIXeR{ym~_k# zl;t?PkQ^ibBNAoCpUlXLKbd34pNul%Pqt0*=g-jweb5)(U3E{m1QOT4(aZ7r6L%d& zvQ7*d_TVwH?hbpfgT4fBzA`Q?b>dRhlv%;)MC@oZkg}LxAEDB6LlG(#CJau2+xUq) zjvhyjcEvuW486sX)aHL9A*_5|9GMxLkq7@_97*pU*>PxQ{;!H7N5}q7-t`toqFVnT zS#NPdGPtG+B-N*2{Ncy~mMb>|y@ZQKTBIy@rxpFFTZE z7buS0gt7~JnPZ3}$2o<5brfkWLH|W4srs^}Y_t?&3v~mUiFbdj(`X8UQ9b=SdM=iu zT6ZI{jXzRf)=DD)rh2;mlczCHtxaMIR@Zn)?<5xM? znQ$|ORmYG0!?@4<`~`ht?zsd!5Cdp$FzyF0K2;hI;4{_-KID5OhfMKs1gQs!olE{o z;~`S@MLe;H!VgYjSl04=6d!t3d{}D6hY_C{AVz{* zu{~MQ-pdg;LOq;oIpnPJOTHgjh%rQe%ytQy?Goh*I^AMCMt%%>dY)C;sN9U9=Q17# zpN^ycP7+l`zwqQEYx;f4Pw$H4!*(gPdl&U5UVZR-xKpd7>X#28A4u|qj8@TO1{`0} zRu`{EC4=fCq(1Uph57#KF*4#eo`eoXu?bn^_fh4)pA+$u;3){cA8{%08wP#^y#9#a zTYEs~E~iGNI79(F5ahl`)4F{*v4dpT=ZWjM?lnuz$%*86V^2dMBRPDk&ksg|33oI< zR6Qu-jps*#yjDl>6tWPt2HWpK*!^ctqf0`_b``QmV96CL0y}Xx-6qqX;1YHCETj5g z(u((Br1w&)cm>^=7X_5yY$M85+L0PkMK{ygNs{=&Pzpy^f$~ z3v~+3L&TmqF>S&Tj;}=dvsR}537wdm-e?6V^<{t=nP7D$xH=O&nhAcJ2|mpP;hap< zHlRA=8x^SYAfAf@(Hgq(41C4N80P89Mc|Yeq!Z0xS4~1Ap+%Y?6{ekKb_2&94>rk!WuyY zrE61-smxN?V!YDU8cte#G}tsEJ3mWYii>;%(J>oY>p{7BB=DwDl-nwhfos!f;<-1C zp^va@(^z~~%~kq%6}uKN)`-zlwX!!G<47B&kS+QoWAsVZ=##DCll5k#Ix&Q{kS9f3 z$Z(ZEinUA9x+T!(5xonumDa94coz$0dYIB35*=7liWy~$8xnVuVuC2e{_!wJ;yIE%pvOB3x+dkDswz@&?$uBNH} z0@|%}3U^2%FZFVFmM6WJ8pu;svUw^Qt%>ah-ookMrUv`*)g7$4YR8VIUxcwO)1jCC z9i^rrwV4U=3>-js6?vIHOIU!5#myv(y#ih*S;86=dli6g9H5oHi;8Ez!|)rkKB9Nl zv%AKFBpNF9!q_3w{RR%$e?X$JHi!_0gt6C%kA_hRw8LRyAoPp9js)9b^oEUALPjX= zMdAn&7!DL-@i(B%f=<>8M&(GCiJ%Z;1=@ceg^%=y9}_%%3N{~JaZ|^jq57xagqAzO7nP#1KS2^7DUEmWsp!Dr#(MxoOZfHFpqFFkkj(M1 z72|!9VLeiJ50|4)v4=#`e+JuM6p+E{vxSeJVulVyhx+)jU+gas^1h1qOnqGoP&9?0 z@i1NHen2wvFXZ7@nNz=k$9>IvGjGD1dK1`u^omylgQu*{r1=C#C1@85o`MPI45c8PSWJ0ovE&5TThiSky@!px31gb>ROzXG>`7Sg7(~C&)Eblvy=pFx zxPH7b@i~ejndJAlvH9CJ;swe=ppT}E(EWhFD)m=%bow7iZlE@o0woH>0cZ=dInaL^ zT5buPObnBr^gp4ui4flEE>Qe5Rn_0gtZxVfRqa*gR6 zq2o!RpnU-6w_A`0Q-(eQxKYQ6s0MXMik?XndvdPfn{luCNiurlB*#~KqzDa0{!>}Q zVGGBNfO@Iu3o_FxF1(<*i*T;d&#z6r-ut66skPZFKIn)1MdHG$f2B~Q7*mknkqa)D9m?5 zozG|a9=Mqk@pwGnw=3}>-t!!(M_kuLJW<#J#YNtWXg3^Ja}w^Nd^a9K-Po1e(zm_V})ey+logM?%welq>Pqg}*-ht@hz=++Qt=)L;u^z#rFw z{_%K6ReBPG;SGwcDS@knNQW^kMxhemsbn!~j75T~&U4@f;*s#B{-7b)wY#klr( zm^{L}HS`%@pm4mz#E5|(06$Nt<8+=@J;Kx|P!bpL!ILDNwXc}6g`IDl|XzUQ$4&k^uNVqm()2B`3 zRQk|2oown`pCqOHBv$WVzd_lZgU@M{&$a0rrXE4kXMB!%)@dRg>)^6XWmry%^%P{i z34?Helqe_3>5~=k$^5aQ$O80`RZSu48)wyPSRd$55P#38tr<}>X2iJKal~

f4MJq>MipYTDvI+*6%HLF?bOQFO6LrFY@)eEcQ755QQ5ap^`HJ;-~|UZhEn{$f1w zX9%B__`48)v1Kr?#QY>ZFaFZ-rcV$4;ysYQ#3%G%q-)Ud*CP&u&+g|DujUcm9U*#mAEIHVl}xKxI+JO0 znCyIev!bFeDCpuPCOAp@RB09O0INJyQv&17Vh!gGG z@AFEJxHOMwr66g#lIRcE!k@jN` zC7&N0MEpIWv-|zU)W4oJf6Vm#5b2*%MKn=N^iOyLEiC>O-=>Adp#IO4_7QoWMVd#H zmym}Q&?ywt``unrDBfT?b~vS@`M0BvOVJC3;vVJ?s=mFXMEs=h&8X3x{nx_6xoA+Pv=@|1BnxZ=Xn2?d*^Cy8I4<}Kezu_wzIgLbT-9kB%Hz4KIN9F zMUNMX9fPQLcMPUT`oBk^ohavlOfz>2!rYF5%Zi(j*6?gHPfX06RM?K$0}R=3 z`b;Ve0_kFF8QxVYom99UV*pa1ZT%+|MlnA^jNUL&KBEIB>MORwN@;vjVG}e5a(Uk$ zOvoozv+ToaLVmG^(HAD#z`pcnU;N?*_T`bhNrj`a&fE^)^2Fc(2kk8zLq!+HT5@VKl{*O=NTgwQa}A zd=jIzEUOU5GWwFs8;YMlAwO?r%}PEwB(Kwck6pb2!clf(s#mYL{6Mt`bMvWpnyaK1_6Vn)v~ znk+75^nr;kV^nFP9gL=%=yFB@F5y_QlhIHUU8(&5bLEvmld#JiE3VRL%<-?e- z1Nx~(vvCCK*Mt+}L##QK=gI;gl5I25BbtCO<29UHooQo_KIDp=KZ# z_(y=;TC;dx!?P5A`)C(rA8IFUX)O6zoU~;*({`q3gW^|;Dn9XR;ziFt{rRFaqy0bFxk&mQ57EEs0X%X0iJlAkj2?wfYe5mx7Y@s{)45fj;J1wK2$0Tap8kP| zc&VZ&;1c%_iw6qDJU`hfh2@jBG$cO8QS)qVMBtHMXl{klPRqi+WaM5mqaF}(k{*+x;(SA5GxrFhrvQbx*ViP*(R+3YX&*y!7V0pd10 z-(%RP@3B!-3=$97s1&>7uNWztgT*t9t`ZmK?+6SLf3VS2feP`CjlLVG6n{6-Z$di) zRl{+|UVVI@_ixBDLm94juf(f&Z4IAo$OXigXJ+vtJ7O!1kG_6KGO zKO$nP!|vjz0&_)Q8@&*iFNWCYwLqgN!YP3?AAsg!G1Nvc1eS`?HhL{^s@P?s-Nio( zEEhN1=z+ir@lzY^4DX>bo7t6Hccc!Q|4Q6hMYm|&xE!P~_w8`TAW zB9_=_cJOE7?<`)bIEzn-HQDtbMcEm=tp~c!HTr!eo zDKt;fPOwpB=rnDKjcP;7wL4ApSk-_~i}sL>Dnl!^Cv8+4YSnI~3m4dY0h;aFeKx8L z8QNnustu*IbH^yn(*nnZ&d@HmQA6k~ZMTgUhBj)u$12U;#REd$)b6lRWoWB*zl~}` z+q6$j^Z+!!t-1MLidNyu&;?qajcP*|YqLzWySOQ|Lp#|<9ig4tY8#y$x>~!=&es(B zo_2?gIzqd(`)zb~Xs`BHMmt2yu!};sXl>)k>nlWh@U@{^wa*ys5N}o85c-k!-3cVy zA#N$YJM07t4Ni0)MuPA;a$p_s1_?S?G~) znfwW(t-iyar^6MJUSptEst%?-6>?#{LLTqo@KE`xiMCbzEnIDW;gm*QpWG4hl4)!c zs5rM)e%D52xntxfHj3v?ka^QB%`v$X<#!ov6?r8Q&$03mTNd#gCttHseeM()m_hjt zh`+gC(duQfiFQ_=2Q-h-cHg_hmdUAdv57t%7V%7#XPambM)@?kjnNMAPQm)%G#Q;q zHn)m}gU5uY%e9QQi{aiQp$2)GjouBNAa~p7)6iUbmyO)v1@d7V<%So@gEkrvUMgR+ zQDyj4`H_vrgqKV8v%6GYeYi#D9Z$XxY7Do^w@sAB_%x)eLCMa=_*^H4m?&L+X1G(f z*s`tRGv!_rMO+t!H_C@hRN{JHoGo9mWjn%~r8Z01EOG4$Z;>NSv>D^`TshlBJ1{=C z$4`GSe=#Av-tzHXz2+$-dVw&sBFcO*Y> zN8R@huMA%!SDv6eyAz}J`?AwUkA(Nge=*uoysEq_c$3V*GYYltF3P=07Tf5Q+?!=3 zqXRiKCT@|V6%wx%92B?6Iup_8xkYxEh(^{Aa(^fz4#${86#@JQt^I~VV@)%P#a_~X1Pu6G1_Q?}X z+3?Uov0pCDknNYNP1z+S2gNVtT3e<8ebbcPSM!Q?Kz=Jjc0gWbqXW6Wk~f%|bKCQhsQnJ2gU|+nQ0J`~_B< z1>{q5m_ojXiVli{a-@kiV4NM46Ku_=au3Q@8wKREa+8gs;(7TUGhYry)(i4F6J3v$ z;RSh71b6=1@GtnP>BzuUFT8Un;=TW=-Jv7N@nwz(kz5(!3dm`XKjrw(Nyasd!12XXJay zl7+5~FOv?sB>H)-gKhdt$`MsESVYNLnCB6+{J(aS)GZ1lIX0eOG0QQn{d zd9T^%zWiZ%hi&v65Psc{{~QQ?m_H`(4IBBRWAcvJ$W>OC_eUG`1A5a&W6I{_y=9{l zfZn#z(CE^89 zI6v=08(j?ak*v<>hmYkbMs$03W!}efKBMh?4)|0qG0~`j*X4aGmz(G;jF3;|>WqA! z%5(<$TyD0}4SD~RJIs84l~M|Qmo2*zFH-EyK)QZM2J-0l+31G69Q`Rq+kF?nN=Sd+ zmR*?_(qGF!dHTBNyLkbGQ2*hLsXM!bsJpI9Y z_+FqBIiH$i<@%|Nc8Gl?4?=boqpN(eeuTcKWV{!b>$hZ~LyXi~Uar5%XumI7u^;)~ zS2ADekY59RnWY(AM77^9##TQKS=2;7O1uD6!)UwME`OglL?3UWpXUEQuR@=1qo^3F zFE!DKL8YQnZ&Jwja^E9)l{&p5N&WD0-*@w3I=$XV=#9P~}ZbGSL%=JZkj2O+>5daQ#;%y0;(- z^t_4OSU*STZ<(kFzg96q|HMRxTnEKS-Md(M{jnky`ySMpuZ*MS;i|eaaHDqBO_q$1|cHi$uoi?TpaVRi%+*^s|)A*Q`}UCh7+n zoy+x`sK02U1C`Z~y~gMO$B`5D{&-Iau^W$&iF%BY8WR)sIX1!*68%(#e3xmjXp{67 z6Yav2z)AXAMhAFDn5yl{-$=Xe;Lqn zMpuaEydxsV>9?6EzxbF)o&KbW4i?o#>h<6$lmAyO;m!f z@XgonJWa_S^nWL^L~s5EAyvOq^ffk$ic|Cr3i%T8gW^>E99tHUr|K8mXm8{j`VUP_ zilv(LpP1;#KtlJK==o|wkJ|a7Ku_8zAXn(GXXIf zQ+7bB^8Pr|VWTqd{SkW0NfV#q?o<;mc`PbL^KYvoU~=<-_dDAJ4^9+F)yL+^%Whb*G9eq5fx7%N7D*Kilr=2Z3 z-8uiy`Li$7y?uz&n?DY}w|Xh*HAk^Ve0MKx?&MNZPcJP`I@vAkcyctp|74V%9XhWsuigx=LC#uDdzKNKQYHz zg{+l_^rhLhj#LxR^(8)Wbg>UKd)ykldMm0lNyqZGC+ADv3sfDe3Z0grw3W+|Dvni0 zhi|p#|8}lE*rBYlD4p%0!^!sWKh34{&T>UHmF1+ZvbuAuvK;<@n#1|~u&Fq<*Xm%tuc!eY?&0I=T z|>^ON{S^Ot^*i;AajrO23r+l%OLY23m6$!= zGFvRue$R3K|J@mpIjYt8$>gYU(vzb`g2T5)nrd68RV}`<<47&O!}(7}e$T!jJJy)V z>>c9wHj*=Y_J3+FXuO7Jj>~#{YC)$uGoSfVX>@QVV3aaFTb8$!xQM&jmjyA)UwZ{*@+H#T~js zr}WM2Em4WL+KKaPzMUW{#bunUoOg|b1?1aA_}~(Q**D@y=3qZ!-|ihm7JkJ(sGAMd z@BiYJC5b>4Qt$EU69ur>xPloqx}oIyYtZl#0nS zsWaX*K_gaC$>%#wC`~nzRXWpJX8IA#Aa(bpi>GtdQ*8&OaP6FI;IVveZ`4Pmole`X)DupOxH8r%Jh7uJDBcb z`UB9u;ucQ-7_=0>^+@y?(7__2HI>K2Fwj!5OZ$XwWF?ipj_FIR*$JwNPCPxi7xZA_ zLGdB;i9W_@JXz;^`wsowl=bC};$?$cN>?qJ(x>{p)3L{4=1RLavwOC&7)-*$bO>+W5eE zNIx~?0?=o;ls|&LB!63T8R+g|SAsu6zYg@A$_unXT5$MH+BUpLbT>G;apHebaDjFa zx5i6yI(~`xB5tLZci_;M^kVxyDxQ+UjMXRN@Zq@x$`o!t1mh+RJ^@;B1#?$@Lof zd{{0;Yu9n>9hRTOR)BMzTY&znhG=9M(RD?{zY5>yJ1mcsUZ;JR+u^(7)cm{Ucf}ih z9|Y|hc0}$)-9MAJaoum@`W}|^(Qb$3B}HUs@URO|myi2Wj~`PtUZWPk_}9MdI~3Ac z14#4s0V}i*d4wF6Ejo>gFZ(AjW_UbnoA8w8=V+@LdYv}UeTsfq&Tt8h+Au2K(Ps6R z@)2#1Ypwnco+NC5&T)fw=#Oj5@^1!Roqszxdx!r*e+HaqL09L$4t{*#pY*%few}u2 zd9mvq?Jk#;4LUttxr^&~KTGdIk3T5y7Zvep*Zth%_lx+zxvr%sy;R(fx?kkl&vk!C zs~>h9?EElxqw8}mhe!KGF^Qf%4?jV;pIhc7IlAf|SDn^T{wo)1>caQ_8N@ zPVpGTxBBaN=h*mK@&%FcbKPJBK9wcdW9hMIT$7|=p7ke%8^Z>GZXTwAbB-M1AkR@2%WeaCxVl9vu^@HEKV;KTWHKSte4a(ux& z&-wDnzEOMwlzhPIeB=_|M?KG?;yJTVE7H~-a5w`z`T#t8m z>U4U(Sf>vjc#-=SuJ3cu(ZtVDuOE8qv;y=?gT9@6=Ru~U3qJw>x_l|a*a?5^4dYu? z_kae)&q4FVqo8HtS zj08Pfj0N2yCW3AgQ$TMP(?MMtWxzR+XX}miiloaOf+6ngJ15ryI&2y z_xcOasp1jP6PPwK#lus4si9f)16?B~fu`}JRyATH({u4H>l$$(=e|6Ha`8gaHV{Q=YKwOfTYU?0<|@>UTWa6RbA0sBBt81M#DU8i(8XmY?* z(6{asL9oO+|X- zfFqpV>mg2ym*_j*C&cvw%6-p@T?1NuPl&q)Z1WNSe59Wra0}??10Dx0DJ{<-Yg0kt zC#TP4dVLPneQyrs+V3ZNBtX;^B03~YbZ;)FBb@HT=_t|HqLfz@u!REROev)Fa;96D z?q<5Jh@`H*M30nkx-I;4u|v})$WiM|$RKNCdDm`-83oaq*(+Y+R?o6`?7eT}K8;ap6oFkQ}c3)9_9 z_tsF}hdKQkQ!$)#F`dG6InymncQbvM>HgvDA*aO%%5`J}aa^@Tw~gZT7@|kUb9y4t zA;%Kk#`Fl&mg9)Cw~lq{i5^jODr?RlI&CJ?2BIw|5OvMvG}HY|r_CeIwiAg?TR?P3 zBh!VuVvpG2wDKSy!Y6^F~hphbiFfWDHCM>8T4MX)Uf zm*HS57L?&|EoMZAf^LZ7AS1Sx;g~G$D60kCSuhr{wuUv7ZhLk78iNbJir^8sh_Um8 zA2D_a-zE)X?aIaXK}+%7&NBQr2>%Vnf93dZ2)+VXf!|>pir)gM#P5du0;amCR#bj{|{vDjjSdEWG#6CsTqv^f$%VT0S zbJpY&e{m_%F@uSY3K6}$gy@4cdC)v9PIQAL`n@3W@6w3wDCa$&|KMuyr}rBP zT3j&>bnuYLpl|h^%5;{^SG80A^fUb-uYQ&wx=K3{no8%_m5Y(yr%~-j#!0I9Zx5vO zOVva((|2%tws7x^Ml1PXO=1MD2BrUW?C-6b3!KwI>G^~koHh7`l|0b~Dlt~Q;IwN# za5_MxxCvtzH%6d7VQ7Bv*Mdr%>jL1c(}LinK&7}7queLb`1O}O(FrQWPcYs!@l#Nr z=+g4QKLeCb?GfTOtMEY}5+DIU7`pKjPcg zns^fwXLPL?{LP?JyoK*w`@}c35^%PFN)gcdftF|kKnH3ALCds3po6q>(7{>-Xt`Di zIz$@=TA@{g4%HH%mD+I7m^Ko07=Gjkzk#QX0j<`?fhM#Gpf%b=&@tL%(6QQapp&&a z(BrhJpmo}G(5X0WOEFz*06kti0d$r&2Xu}$4|J|}BIt=)Bj^Hc5$H+UV$j9fQqU#Z zDWFTW(?CzwmVutCHG!_wnnBOilAznPRiNi-t)S;?Yd|l-Z%0URg=Tb{^@87Q8dYv&{Vb5JSn(=J5%7obwyuU(Av1E5kos9g&BOKk_}0qqLVUujo@KB;{N zI!}R0@v629^bgv#ps#7)13j!=2YN*N0q7qQOG)vzb_3`;+D)K;(r&@+%?tWStck~B z#hZ`c)mVYZtrNd=zg=7^t`p}s9*2N=51p$nLLlz(<86Pdpm6?S@t~MCva1h z{m0|oh&wES8V1EY%#rz6$>~os<^+8v&CgZlXRGpB}cT9Ri?GdeowG<7zwt`+UbVCG?~&>t~j#>n~! z+43%m|i<$>a_8rYDbS5U0*+T#Po5aM~)gf za_WSs_4TzgMvoH9mNj-Zb+$IM?+qQTTy$gWhUDb2V$vL=rK>G@te7-E)p|x#XR@Jv zt?~~!jE-r^&ZgG3^s&NNae5t*deOK(-I;8!S)5!^v#3F=N_H+=Fh?|`=Qho?L=E%s zYiDOPwRI(zEwgyjnmU_UnG65k=e!lCqbF?n@kUyK_GPP`WD8|)Nw$H`X>Cp! zX=7z)%}K54uBNue&aReLqh?_;-MP>(+R`@<>1HF<*1AH>Xzgg3 z1M`h*lg+IwTbnH7>gFpSVoS_Np`L_S{A2_ zj#bmoYEG_IqX%Ou*;3cmW}K-i+9J^7s@-O^Cfiy>V>X;*=cVa!?3!iE>YJL^peL2~ zBsMh--2$^bfqJTtGgC32l4o`H5TbCqSe2+-yEfUuUM)f@Rc~}DG#eh9$eb8;&CSVl z+DOeo!zNR6jm{aYOYPlF1Er@sQ(euShNISfz^UdEbDGv9&2eUORR3l3>_$=JE<=;1 zjdILnS~Dw)IW4)esjH2rRTjT}8O^J1tR}9fX|6Fz%cKd=dSA6v>wPO{)}V4tkQ(%D1Tot$CeE zi@T_ErIqY*l4NPFVRwb4fx>#{nvLFzuzguaPdhY^)U;b@z-EtfrmsWeE3ey^wVNsO zDQl=qZE9YfL|3Q|QV7uD_lV*BaYkIAbWn{ieRkK>b>b&RS9EnIsV1z_X(hVPOIwxIY)TV$;W- zoowOl)Xq)ya%8*<&~|IfEq5@=m47T*YdW9J97-zDCnuB&( z26d?>CiB23VAeqSQ$EmjU$f&|j zJCi*LnL{%=o0GI+5Ie_w3g2lYF^627Z?qyzP`JLUwXG#>61UY!Hl$}XwSlGf z9&7WShIUrwNtKw+h1`Xj+f(pu@>xZwdA( z&5>EzsO3*ersxRQQ;6|oq}ush+|<@Xs}Zf$)`sCmhmTZKb7xPDWOEnR`1SLXsrJ@% zb{Xg^R3yd5osxTWk|VM_o|a5Er&{^Ac&~Rkje^c9%O&wip9jWpMjBEupYH3+kpTu-a zc3W;liWQC`q-=F7G4_v=t5=y*7FFI^rLv3aCbLWG#y8#Lg1U*Ea;z>sT3Nlw?ecn& zWtQ2CxFOxxwW66~;dv|34*&?4I7xA;g{blQE)tU2*hQ^0@91fc=D5S=cG306yp?8X zlb+VPa;2!pb=pD$_o%7$3s++`=l+}5K@EV&W9?dEnO=6|l6efttWypj_IfZ8g>=_j zXsBb6!02mj!PHP!875PiZf`d_mZ>{NlaFC*rl|7#uSAHnoti@{Gu-`8t{J&uW?)bo z9kcPz_#h&lz7B^J>_MGP6kN?oGZW3-E1#JZ?by0bXsxD?CCCiS9bQ&!Zm}&VGO$&C z221&aE~Hx*4o4AWDTmQac5FZuXvg1%G~ZHNSJ-MSr0v^li%+pE7HS?sJ%l|4(~M*q zzA4k#Uz=CsnA5qMTXjAq=xPZc)*YI8|2H>zW@8(&;U<7pXD2&WAql_D6s|YYi(A3M zg=4ByB_Tb&75i+edG&h45D+d(wbI2l!r}ED%~PA&+E(DkQ8ZhLRT!WPnmX2yU0$gf zq=<8rA;RZVgzH(C(KG1qfqSwwqA`i}kmDPBpim+snCDJ0&ygyPXaeJ@x42)8Y+T|e z+cLs?tD~qdk+vF_q17r3oR(pTNr(IX4ju#lUG-{O+PFj<#xr*Tcrce(Q&%UO*Vrd9 zi_0Fe9GCR!A`g2|r_pS*anEAEg9S>MgVSso49wGwlo{Efg>X)> zfEiX;@T5j-DYiH?k}|_Qb*{3bKBspxHfVl|fU=z}ThOAK%`uOIGw~1DU>)4Ragt@t z3=e7$dhtUCQ)ot_b^N4?>z!rNyz}WqbXZ~ONPAJDU;ft%7uM%yAjh?WB^1o7+?#MEv+ea6DFFCjuwO_ zh8h|6HH$hgB4}-;M>(d{UMqP>I*3L=s*`3{vc=(IQX9NAYrnh|yFD-Z@6U1~*lGS#J4;hMLDr>n!Iwj*;r4kWbH&*`E= zH$9V~dF5onvz0cS$f=1Orn)}C9f8qZlI`wX=Zaj-c63@Q!_4ZGab`m{&vM<-T7bQQ z^j4~7as<|uTz9^C<$}%F+59k1lh$pLS|Xey7p)T+$QtzO1{_y0wBBG9p{~c2)`^+&HEfqXFiTK*F5HDEj`Rp=SEK2 zdjTWWVEp8au?jG735Tdashf9U3|cJ@DM(moVDG?)Lyu6fU_&SB&OG>9(P+jQ!#w12 z=<1vkEN*6uon^?ePwmuAU761m*l~O&Gt+n`-?2^OlrD#QwclN6m(g92Sx$Eu#s6eI zg*}=`G9_q|uECQQ3iw5X>IE#ZeA#afExtB|lnwy+u&%-8GS$rN>t(f#-st_Rv6dL-+kDfu{@zoH*G)?PQHgauY7|gT|hGTDy3qQ1wY+ z&u^iVIJ~B(UMks2O9>BmzQn*N!t?+KgNkk~TAP#VVTIW!CNOtbS_CbzeZDdoc$jFW z%-dzVT2>Bo4yLkZD~eX3oh@xvQ&l8X@~4mY3o;pUiP-wZ@i16~yYzlNT1gYpNIGUl&XfgxdD?1{P+X)7R^ z*4l(CUA&#qoEF#t&4=u1L9Ym?2kvPqPIYZskP$q0w{oL9D3qc8uz6O9!~3MM_Gn^i zNbIjETTbJ`i9^z~l-p5>W8AvfJz6+SO=*Vu3ujp4KYcXq?6W~;26au02BTO$E$s7x z`Or7bV-t0t<1B^B4IQ?mnNLp0L^UFR%!}Jru-cb(W-~~~jFXgnty)qEWKBtZesR+vXkj}iRh#3s$J~vIr9eQRq6H!D5UnZq_ zQ9*;uXlq)PwuX}e8RJYbGS+eDQib2^LQnwXz1#^oQfHMuYF=v9-h?WvwU+j#!9{>=V@JZ#jZuwyT~cD-k`s@6k_XJcykOfwME z;@K`~rqm5c8au_>wx;GJjbwYSWlruIj8Q%SDjU3L@&M)YskIy|#7jOk3zDn4@Nf~K zDYhHBgRu?bEW#J=HO`H@Epy_gZsXpZ9P8)tow_QXw!|!-6(hZ@+XjdEX6{wcRzaXz zh(ei?rpI52Oz)q;AD#Cmgt+qX6SgT%0G%?CiH8ioouMKh`5UHgPLk>xL7_3x< zX~IPC!PMYOPh9$8`+>GF)-I#h9$TARJ4GWtJH=7YBIctC(NIU%MOg3g)R7CfLwb`( zUUcWtLBf1N(A1)7mlegB{FE}>%r7;W_e9up+YtXa7ef|<@5Q=zw!kB%?C$S*=+0j7 z&2BW~DBP}D474xqiL4h$EpB74T=t3Z$PByWBScOaC}dZU%Q8h3C_9ckPsD?~NGO&q;9jaF^qPk5ikOV)VN zZ#_GO^@3weH8=?20NJ`y38|mx>;o@wy5-lmQ6!w3x3aEdJ-T`AdePv#bS*lmdGIiR z9$l+m0|RZ1FcH~f3tDAj!`zS$?Xyfp`m zW;kv@WWX)z!jr)JKka=7TvJQ)=t+an0tB%JiJ*dta1s)dpr}X_1wjEp1QAjckRnx7 zBtgZ7qGE3sY={l9Upu0RUBHeF5e3C77F4Wn_Jlz6>Mieozu*1-?@2k^W@mS2XJ=>k z%gB2GXANaap#HIt2bGD)B7tAj8uS_4NWc?E_z=sC1D^!i zlZ;_->wW^HghTz|^&sGGWo##ah$ix*)OZZjNrHTcs6b95M6WQ2ZOx6@{1}(A9%#VC zWBvrC#{FU0E>NOG9k$1haeG3o5}=Lapk7c*{a7Nbq(d~EW&CkYXJ{eHqh!BUJeVzN zI~tZ!z?(quLiC?e#~88Qw|TJse~#(vT6|4)%TM>(yXddf5{dNRiTrOwwi5IAu*G9)6NRA|Mnn|UKNKVkA(c9z_Miy?$tfgZqgz|l zArv?V@k12ImGL0?hC)7KYBNM~5K*BeMoSfgX+^7`G-DuN1aQ}65cH`ab=lZti~~MQ z&zGnHn!JJ6^pHG6bwH(I9ULJ}DI?((y}D%V;!D6Jz_IQ`sHZd37qtTQL=5;+K*l;l zI2P&}10hsXBrU%K*JU_?2~G4!{(T1mzTBalXOw0ADSVGsc$DuCFzc%zm8D|lt>GWl z9c!n8@qm_%ZK*LPa3xAYebYKe$$&0O&Q!L*30kS_$(G)N@0lpmT4Fk(7Aj>*JkSK? z_l8`AdIjI(Nr5s^Y!u9_&Jd6K#~MZk8ne#O%kbV1O8s^gPl7l^3&iUvf9oucaG@B~ zbIMs9bNhQ3P+bvT<(#aBryZJgQT==XGg63@oCPOcyCCk5hF|qL#0Owivn|$1l^5|R z;(0X=@1ja`1dJ+f^#q6n;L#YM7sf%ebu5et6o)twsX2%j;q4Rn5HI?G8%M;${y5yZ zpd1;>QDIMv4=yo2*l_Uy`t1jCB>5RPB0I{8h>SW0sSXG!B4pfG$_*O|M8i(mNH)<0 zY^WY0csO(@YQ6-}B9gHIo4PGT-91~UaJ%%FppnQACk&@rfEuAw3v8pdLP7iv#}uUBd? zv@|IYUIBk_{Si}<$O4A}E>)Y<8KY>D805|v4I`6TEE*ewjL>>AINBHu0iz!}Mp1ex z+9VcLlgwbiMOU$EexusP%unbni!eLOx0k@7ph3H5H*%%gc)gSAX?DrO!-E-v7tO4yaaXVfRI85 zTF?=JPy!H02|#7Tr3XL<2AvM|gNzISBLh4Gm;k85(9@(sOAY0PCM>3WFDhT2%K!k3 znWD$0u^5oTR4idZ)qoWkhKd#7l97uVfe6c#7eUTb1mTJRIZIzt6Of!i@eH8)DF8%t zg(k2xHEDD@#L_i22$!J)5d8EQgf1AE|Fh_ERcinvFIocK`7&tu$?qDRk>BJ3JX~qk);U!=wzBEVk_c# z2eFU*4g=~zkVzLoRly%nV0#-j4SdZ6Gl6syL-`9WMD!{Y(g$j?l+;9|UZbH&M!5{w z8frvF%!G=op#jlMpv!=2CUhdIt{oegqOKV~Lf>2j0I^X2Agb4)exd-SiT*-}=xsG= z09gfec-CB%Dxhr@gPSq4MC544|LjKbQEcqN5;S_@rdkCMW=LGXbr^#t@*=`9ufu4lrTRS-`p` z3=;})8;hv`tlN#)FvvhaA>Kq85UB~0u?#U9kQFgBNS%L6pEizXObjQ09`ASs6s{62L@66+;(^ zi6Vdis46P-q;p422AOU`{6aL!3so?o1N*aJV9@C(hr9;j5sWrQK{bRw=yM9NGDsT+ z$R`#}8^o3g!3Ue686YIO!5<1M;F=W@3xpsAqz{w}6@f?&I6x{6A!IHPaqLk0njqR1LZWJ7rWq@WQUc=u=1 zclHlSGrX#8FVDfc!ZodO^chwRBQDi|@NgeT4v-bp84{*h_TK;Gj++hZt*39%-|NCDfGveY-o||Jvpbbqe$( zl?M;}@9K)s<&c$x9%S^Opa+Vi!Z^aH=r%7Z+*XfKzkKt1xQ3ddOja|OMnk1jzY#aBzcfMdU^23u?R&3R!AXe;V zt2GC%HI9C**v;l`4$;a}epYO6IN=^Hh8GmRU~&}g5GD|W^2K~Rj>wiL#f73yBwun{ zFfeH~wN+Y8!CPID2Ix%_K*iNyD%xv-pHOBOQZ$$zNY4UkPNr(WgrSd;%E&EqA^;2^ zYtShghTbTB0eZYcIjSHf1z`i8U@Cf}2Zy3z!a^QTT_qO43jq`p4EYoTG?7vQl^~>{ zqCLzcAadIS8VvMq5T>9^X@c}eG7?3BdI(cL5ygTiA_Q71n%WuYhD&fvSabst85G#g zn3e&FLUgs9&I5;r<(Fj+Wpr@yY62Ku6kgH4p6%{3bLnI*Agax`Q ziUGk5I&rfPCOZw47X&-1FA}z>j^Hx1Aq(L#VZk^ep++$@00^+5hBAoaU@}lPjzJU# zsv(2{ltDZI9*{8z2U0-!g4uC9YCZvniiEl3S5zc&i6RM)vN}xp5u~?6o+B(GjqspW zB0NV>c5t9z0t5rrB0@emZF4WQ%h+Kex`MepNDZc55h>6)YxG(ZAVkE&Krmqu@yJJH*F{i7JOCLq zuL_h&5YeVtgKddG9%UUsm4L1R4Yma{U7HQP2e=>-Eeuel3EYGNgW{XBun6sgr9|4A z37P`@N8~4}WQ5BM1^AYr`sg%G1z;X^tf!~pjp zY4J_pv{9iuUy8f`H!plPpbJ#)%@qx{Fl}ISJeDB)cm*A{P)%T57qp&YW~B( z9l*;VSBb{Ut5A0fV{{|&hu7ZvvEd*5B zEQ*D&BceA`;llJ_(9j-03h*|eaP)Tm@u%P?d#!5+#qJ{>tgKz_X&tooSle>X7jCPYkM^XzyZg( zJRJS-goGnfhH%^t=MoXk>3lBV7G21OAc=V7gMYq2Y=?*8b~2ejD3I}_0=|$JD&t6a zA}LQQ=Hg)-TolHU0TYm87>e3;!r7vj|+uD9^aM|296+9C=&ARxVS)OCkVsCgtoS!B0kQs z6NTFH!yrFj07VPL5`dD1;u5JO)Q$ssj)cqQ*h(dQ0iVOM<8bY`Vy;kTD+uLDc(xp_ zBupUW16Y_$f(yf>yik!H$IjMHCbH#2ZJ;_~QjSn4v*Sr5;!x0*LWMy6G@yRUkEpLY zqS0ari;Oe=$qv8;5{@hsx&cTe5y|jSTdowkAQYE{N}&}JsYoi6N$f(UVxbIrC=3Vc z+lhs?Jh4awZIXs@p-}=+s6-^;OT=Q1L;`-UtsTdf%fY!K=r;k^RxA?l26Z51% z9u6*)LAMLwGCvs?@Y`~6sfY_?=1axU?Lz1{Jd_WYUtsC3dzF0S{tjT#1w~<3Qg@LuELWC4v;L9Y-t-<#2hnc6^SIi`z-W zxX9L)$CL1(o+4Z5fVt2CGycjkM&Iz*){FJ5o3HQr*%|+6XDFaECjX!_5brCk%#pA8 z9uqKi{n-WoXcsJkF39|YF7O^7nt-fTtzA@hoblEpd{CF5!v|xPmn!`1lYg{NWjxWXl# z4JOp+x)}+)j5H!)42~VBd|VNaE41baMQ|@N38P7)d;9rd@G%a|*4aKt5*8mM9Uml- zB*jMs#m9+*63_|$Ac-_d5}p(UM%JO@Teg3!3 z9Z1*!AQ=MDBTmZ@S5(1Olces-6!PyUS}rlmS0X zasHbrBrPb1I8BckkT4zf<4~w$sOUC3RA-udJZyo%UYE8znB-1K1RGij$()24fc^1T zH+i6@tHS^iJ%qL8rp0dofG`FKKxw6{w2TLsVY>#G_s zU8CxrVzi$M}i^ z-CSkrk$u2QES>#$0vcJv?1RKnk|0447zqavN7M`o=|REkAIdOPurg@t&dR8U=LWvQ(-Z_5ksv8{mNL5-qrw{Qrj^U}tD1 zT)Hm*y0wH9h1Vv(k4JEW;6DJy3KO;(R6k4_dYdo;3`;`b=>n!vK48-31x6?#;0}fF zVt5gtN2t#~BbkFi$w#o)V2`SF`!^#(azwc$I%~+8+Dl#)t8IchH*iLF3ASOYbT8(Uek7+0YgG0NOzdW#C0UE&f+w38)6JepE zGN1tiv46~XS7josdg1KU zhOq_zrPcdct^X(m=q`YsOvdnZ=QkQ!Ju?PnywxLVl5^6XA460%nMC5~<9ZreV=@Mj zq!cQdM8ohP4eeeUBq}LgKqgUhhTb+ZU4 z@37A>;DFtG6VeCK$(<88rLr{@rfu%WI_0G6B;o1Q&v-iJQ4R%O@sf>T>yLaX%IegV zEz(Ul5H-k`5ZdO-l60U-Q#m@gmIlR-s$oR-^WhlbhA2Qc()Nez-r*c$LQFKr0B4{` zO(RXXGzsn{kZ?NVEEJ<{^!?=>#}e<3(kVu!ElMe@-y~8tx~Ubgvb~)g*<7?c-npF~ zM}+fn*mUOddECHudax1R8pIR+BlT;pKjjDY$J0q>>V$&6qokAcp|45WxtTBOLv^!oy-)a z-~4S*qJ!IZA5q`%va>fD`gaNRu&=coTb#=F8M1or;p`^1YlCupb@wMahO#PkhJ*cifHB8}EgfN5`mZEAzO=!OgJI61EqdF(-v=oz-dN$Tw7dd$L|H7$KmpL%37JDTFKiy`WQ0#kQo;6FmCAH*Ig3K zxsRT2!$+WEO{rcu6rAIpd~&Z01ufkjE!7CeidP-r};! zKto9}`RdMjI*y-%@+leJ8oU0olX@~-+hQ?wm)7kL1@PUgMGtSpQ8nWf6|>J?Pg(9* zlhfnFl7%r0(3N8R2HeTGxlZEULRQ zF|VxJ^^HTmhRksNTASyODo)9Jl)kUnzg+M3hKtk3Jze#o%{0p>Gyj#YM+Fm3);|+w zc}5%gie{F)?(BH);7rR~CytXh%7^zovhsoK_~_yhwNjJwSLz!*X**u6S~~e;%#q7jCDAV~Haqrezkl73Xm^iDW6ir|^$w&}yFKjY(9PhcPwr_gy*Ep(R5bGF7*;HmKj| z^qmvti0h!?u1`g1GI0Htu}{M(AOgOUa97`qIG0tsE+}kVnZx1*qpn|E+5Y7JRKfw@ z0@nhwHcL3W-dx*%O2YjBcLJ_hgPO^vDwg1iMYtlXg*es}T%o`nRKk=@YRmbdF!dhd zZX<~i$J;o0``Ad7pD(c`X?wIi0->b*ulWk{AJm6hn_EBriw)AE1cwc&2EnC8@d3fy7vFy@n zUVf$G!0pc1(QGB<|}a~Vso?%%g__B(t= zyHe4BP1hN_yY#5pm>ZsHmVG{9`QuzSr~`Xe)iX;1{b!swc1JHOb5-xBdw#oQQL%S)`1=iQsieHFW8*J*dhNSQ z8?kKC+q&VNuajwBGfHmgyqN!NpjMe)QnmSriDupHj-D;djNW4MaKyeHV`#GyM5Aw-q_^0lyh5lKZW`@6*1c zw~27cs?IW7BMVWxi8Jjk4lNGZ)#%{nv+sUQrB0|r&+ChW2TQwpcT`9R|zH({eDNefZ6`n494mv*$Z2K>()IU`F z)m9=oiXAwJo#usr7KNkRqPfA!1eE*Mb&3v$0a{0E*ci8I%}C{#QQ6lYH_YcVR>zHH z-pg7$dZ&-y$XlcGiVO2T9hI5YP^iB6K(*|;93IZiX(MO;esd*gcuFihXdG;EVblEipWc+Dt*O{|@obb$ueM7u>4vG+W0;#R zw~J{Ce>j0*^Pq0%(lo0F;&9&U**EW0kSwN8S<`888vTaHnh6Uo8*I_K=Ha$^aMFkk ztOpm^X?gi;jD~dBHqJ16bJCQxrW=osHczU|PT(C$CU5=pnpQMU>RFqfwf*4Z(Z$va zSC;tEEF#61UO(^e=QvT%KRmTbZj2k+t$n`ma92{3#3hR=%p7)cf8>FsD`!NGIAK;1 zu#mUpS&!qoZ*tS^K>cP`wGfv=A#u`~We|6vrH9ahlz9}Q4w6Zf-!DkhNy9XBR9pbY zygBKl0YKZnFp&v?o10NjAE`|teP>1LI+zh-)vonWA9Fc*k0b7WsLUa;akk=42{;| zQ~o0aXl@zB$fT73YBm096)uDh;(-Ylk1JBH!Z{G34E{gWKfv36ytrT5DeJSK_^5u2 z>GfHc+pMKe3c9*M)1}mDVY}$2m)+?5%(X|~NH|kb9w-kQP^D2lN#wU$Zcg5LQdGM1 zY4`5$pHFg#2+ZzuN$*9yeTPZC^02)xx;QOsBW$yOf2MQP+{0RRtB&6*n|Ff0E%RvQqPaNEpYOi~1-QAGV2`TIPuHN0| z$cG-z>+Wvd8aJ%Yg|^UoW-qMOBP1&*?ZrLSgJjJA%y|a^(WUqO5PCq?AwZBT8 z?F5u+r>4BtFH0KNRv2Aht+F})ln(j>+~2OUjgUgxjjD@ltCU9y{hQ%SEWI~N8m3xVj{ZD;@u*;Y z+9yMc+?qr2yhm~R+s_tGzY~~9efPO;;Cp_DT6=aZgSWDrwzk`*N{_T-x)-OH?k$~G zKc=%iX32gb?h*MRLRKCSpBSB5x5C6bbnt|TqYEBx(L6hEOlA6u4+Y8H7l*wqrX@Ia zU%l7IEAIGX_XUzASHznQx8zoN9y*5guREPyo3<)?vP&PgGN;=w-x<%)vJY9c>Atn1 zX8xWo?n7Tvr6!lp#uW1Lbu0QD@y)PUa3rF!t9V{<(z=Urk@>am$zP`K)Y!PQ)aTH_ zSnsu^AKWwS$h`5^wWHqkNS|QW=IE`H#r3D@({(?^L=3+q9N+Zl`GfZd_rTJ70tmj5 zs-?Gouyu*vEp(F?H zxU>F?F|(%oI_X~bJRqd+9(X5v+qHPyzkB+67ro0*8r>8Zj&&Ww4H)D4GQcf^JH2y4 z=-7oJ3g5y@*&d6EPHqY=3pI+iEa}*kAwP64^rLH$g-O@3%(#wS<`fK(%=Qi|4E~gC z>d@eyxb4WCft~|~mFch6=r=a4QFffN)OqUj%R@dz*Q`8SxcTLzp4yy-TSGM#?wdvD z*G^>ZtXpxR?_(S1gL$uSOO9+H6|uFlCtmn?`1l#;;L&YYlW1OMo+?T82qe{mKU{cU z{hnz0x$uT<%jQKrEWC4wg*Vz;{9m;8)_gQ;nBIeu`^)<)CQuyKtk3Ndv-|0$^NpON zmuL_2Kfm{n>VWS)aY}Y3;$Gw9hKWZ`Z(iH2y6Nz*TIXel98G<`^HS2rn8D-mYm zR_Zpf_TA<|Ti@P|n;IG!lbo+Om#4K&bf~`M+>P`-aTiQpADBVvEdS7Hc28f?u2Hv2 z_54;$ni=1R{%CpcC-d&xS~Ghz9=Gwe=<>F7+t6E<2MY5mm+s0NxbDoQ4vwDpGn#s? zTyH4DD-I=ahujlSZd@_Prqk&z1ta(Fxb56`nfHY2x#g$)s>AR47nR+`kAFJ<$n%5V zv0$&dHJv*MZ4O@wpjkiH%kk#ldah-`y1IKRzcc;dExXE!kgU52v)q}v>Ew%eIvHN5 z!P@&>?*DtsiFM}M&@@dAS}z8L+>v68y^q)Him_*O&$?dI-SnPf?JG*B6*-D&xI(^R z>c2c+sl8jI!68x_Rux*h8aHdN-@5+8`8;8uD#8{Wl|d1BGHmQA_ZVQYNhNV?Kr(4J zBS2fI+VCKg4XVko?Wsxl4fiVn#2r}(z)meY8NGjO*|b2bS8|RvPDj}&nz`&;m7kQ6 zqpq4jl_?4ZM#|YII;30PR%T!G;nlm9x)wvGEM9fDM`HWw;dpt0*=EhV>n`Wanf_qb zB+;1}Z)`QP5{%eB)7rQ9FJ>C-z8&i0j63$Yy76T9QF=`e7rfuqSJq~XG`0 z@Bqmr=Ah`44^p$s_xr7E=tApN$Lo_QUwL->rFIu3zLV(ZJ-TtyDSEJW)FL=K``_(R zVlU}?OIP*1q;%3?ykpCb18gSgeYL0XyZs_>+{J)9;G^X(LDU($_u?wgxr%=0~+2vn0NZRLiV}R{S<$<=2@592V9T%qflywGo{)oMm};(Y4=fCXtsloQT|8y4%?O&gxlRlAR9S zVLU(k_{7n(?~6D6a=V?mfyPp&g&Xc&(F!hn=p!ujF5CNTPWVXuCv#6PJUKepS3lon za*RK-r-i(#ZkpGd2Yp)hu2{N`2QbZBCo&6qmin5_$S> zC40urPW9IjpT>oLK z3%wbz@S(tnecHO)L-K37dV6ff*g|xH14i=urdR*vEn<$k)rGBq&r`FyAcFs;Ru|R# zpZ42*{-D>@Hp7=+>Ss53EZb{$`w82&KCgeN5gmT}gMU@T#ZNu1uUS&`c9Y~>N|xif zJ7+Y_cxNXp)EK$s>7MnO&lGOg7p1=cl}CP6{qT11;rZEl>rBtr)m^G>``mi_aqk4< zboQH_O{1GqezRXxo-j0R%=<$Rj=JOqN9(Q_y(?f#QT5qA>nd+A*K@NxdB2KTnlyRD z7}2)HJr^D<8Z_(tFqiGGgtCF&p=%ze#`Su1bZjE!oq%oqn~#M>kH9;qHtUdQ~uQElXp1Rmz#{SpN?` zC9x06uFEFotClOz}h+_FWXZgo-Aa8Y{W&57}+yxlUY1M_o7-b(!C zpR~H*as?t>3gg~8@RW!CXsn+u|V-}ZF6VC4~P10+d4CP{@p=E2GK54 zP19rdYV6wfdTsajSmcAjedoPbIITKe_>z7yWTMr%Y>&N~Pu=GBa$mS;hk3tej$Rzb zLxbSq;=6rT8uvLX;p9%dULj87?97>b((X`rctPag*8>VC|7KA!;zrS%d~KbQ&*v|? z?85r*9eQOwZA_eI+f46@b52@<`B%3e=xh5tcTzv@pyy}p4*66XWzuK94$c|2?`C+3 z{t63T?0HG*b+?Td`*!JcILTxjf3{`kv8IjlBO|m|uHDMfb!U9;@ovVf;J~MMWczpn zHDxPq9yn~x{}fRDn%XtKjD`{&P9&)-b!|01;rya~E zjK#W_u2O5}I=?+<6MC<6cH_m&$%33Ib%#RsRIq~{4Y@z5Z&Xd_={RaYGe(!MqP`7H7pTC@j)543ByWmo@FTnlXP_ z_RK-AMsaPfq^)glb{zA45*U%`-(7IAgB#;Fo%DAUW}T3RIX^2n z;pyI3{A=>Qi)$5yF(+$x-r44TDCA|wC=1fF_iylY%}IDVEljol#aK{I?0^0Dnw}^p z0yqSY!?9t$2q!lF;nXq&;ZQmR|MiI~o&5W~dNMM^BZDCxjJd51@8b+u*4uAHZ%H@s zl{t-&^IgOWUfr;AVcW9h0;Qt}h*Vc1%ZFoh+%AJG?v7=J8g# z_ody=`-5+sw5B9(9rx;7)GPa-+_tY>58f9_wna<$6F23E^?O$g$bMISS5xn5P|8O4 z9*^~o<`^X(UF`7uLv^n}15?itmg^?P-DleGcOQM@*)ykw({4`QH94cx&3=WM!L_r! zrgwaqYculUf*an>1-|sWGVmHO1a96=1;neaqa;wInBNleycPkb}OVWG}uGZh) z!F>9;*9R#X^WKIuTpoTbbMef>$GaqS3u$k;@4SVju-kIcV7p6G3K#8Qndjxp>O)N< zsw~~tgv@%-Ex4k~kbc8Y?)C5AmC{f)X_U=X^Xk}O{b8=jyWe3|hqsZ_Ln@CO?>^G$ zir(V8d012&H|c)d->B5qkbv) zcxR{VLD4eB#xF0w ze{EK#j%rGL22*0)AMOBtcQX1%b^zmg+mks9oPKRX8(Q@w?=+{(d^Qh^0O6&9DHUcS z+$+a3XGn&7^ECI@j0;=LV_IgS5ZpF|%Oxhe(W=P}CcELdH$GGqhRJT=AI+vVV%1Fd z2l!zp@E2kykg8aQD;DF5gtL4t$;`Dl{%d40j9sxe*RJ zUejuXgYFdmOGY?jUuJAve&08xqjklNgt2C;be0-ci5IOHxHPpqMR!4wG{oAf-@D?t zvZ!gFkM^(CKHKM*TmJf2;g#ZJX8euIf~C_Jq|SBq_Pe3GXi9mVBHmJytz(=(O?5UX$d-q6c-7GtLeZCz-!8O5L;|VcNXc=em??DCygjDi)G z%a(gG9CTjNXJ0cd=C*&(aH{vkQET_Oi?mC$Pn2xmQM2o2rSYs`E&)RB1dEPog|98% z-Ln@Bw^`=$3c@|5Wu-|g90m6gVdF-~>KOR5>rQ@Xx5 zcz9Swv5DAjS;oCvuim|Eo4eAY>cYllmwyWuJ64awjdmC<- zbfO-;=Xjc7`P*HoP5rVrxj{>BVApb8kBoe^Y@^nYK?W=2rkAlErwUhX?C+A?nO{=A zZrv}FCYik-w8V7l2RCzhM{S`y~HT-LWi<7BZhh%llz z&_OQ82cB7#G)h}ODDqRvFGWY9q9V==k2lhreuDidO?fS6KOsnqJR~9nM zcT4=%c0Dv_ZJ;YvP$~P+Fy&??gDTaUGbzSwjepQDpJSQfBb=8>Drscbd0w;5?%Q*q z@aD%QuRHrpc0Rly;FsEmrl!#pLRLQ(=R{ma(>$7{Ikav|Ejs5DU_&zrW$o-tC#ZlNmlsz#&APEi+1?jz22hA z)$R>_zSww3wp_{xseHJOD~J#MeiXumTpqFxneKtTH?!CN67s9hRIPbl<>j9z&5Zecy5nh| zRg#6~l~+HGE9F1w`pQr`%FO-t0SD(hu2tc=_KNCHZvMQKQ>i}Hd0{@!2GjD|oQ)!0 HZesrj!Q9n{5MJ3!@WQBa)U7WFOZee%WKZ2J80Xb;>^#VV;1qH#% zjptml5%}kuvV1A8$ldw3BnZw}*=ROi3esdlM$70WxE+6oQy?oF=e#0?&}2ns<8|pS zbVqbVGw;1BSNyUJ{VoVTb7l}6w$2P4@%6vV7(DTuLm$6m$v!v#@%Jx2>gKtBJMQM6%sYDMj`zOd zV`m?FZ}r5p@BGN4pZ?PgwU2$b?{ACm8Gi787k*%m1A-fS4?OgXJLdh{J&!$h+2sfK zKX}Le_m7Tlh5hhjMcmZB)QG%yB=MavmN}`n7E)^_S zQF<``>RDm5MWx#=v)BzO$qU0VRcMqVcBwwl_yXw-H>r(eb9HT22aPtIQ>wDGaZnK{ zh^cOqI#Z3hE4D{BM-jq@(JzVWU@-XNR7FPp`N$sH!Ag;BCC_RGMBkoWr zOHoSoWq`GbbRDoeOq_co18P0PzM(9o#gdU4f~wvZz>l(<)&^-)sK=zgc&mzz;)ons zsl{#&uvt7xS~{^DI(lLw9F4QJF4{Z0!%jqP0txQ!NpdZ;;jD>TSd` z%%aYCm96bAv9qVLv!`0Aelu(DqkHF+&yqaza)?4LwfmMuv3#IU0{RL0uvSPul=n+HB)Z>r4S@Tg(zJQbt$># z{L#K>@m?w2(?cVT*CS74I=EAkav_?h%zaZ;T^?O8&`r!xv(?&A5v)^ z3x$KC=KA>b7q2;gWc3S*m92wu(BF_x9$&qnU`=*(0 zP|Bcd;ZAkrqOgoJ zKQ`ZA&LGYDa8`z%Zp57_K`Pa|h9fJLdRRdVYjl`G&d|ojmEgkYR)a@XkE^ou z&Qjd9+4vrf)1I>N8m6Z6W(VPzuro8MYQ&C`RGquOIC{7blmS z+Q<_X;&ho}MW#7g+VPaeiI#mO((Yv)GSPTqTJD&+>l$YnwE(9yT5bC6Gke@QAp9sk zCx@)`$KFcIG#$2dW?)pbn?f)}9%&Ed=HH|P60#_2+QU)s>8E23l#}Af)^Wwwpz7_6 zqS+JfTxd2@NP`}LDz*1?DdP>MIbj)-eGl($3*U5GP;J` z`ORk|5k1Vt2f1Xv9Qlzyv7x&^v2nRRyV%$aOAonC#O`N!w0JZP4gBTMxRsJ9Wjsof zSi@wJ6jH{EBuOvM5`L9j1e|CIi0bH(fWl+~60VNuGmwW1(+AsBHU->PKgtmI2NizpD@QQR_AD%9yK-tllGouyzSBu9I+!($|Wo`nfY-X{35V z-m%ly5jK7qA2iYBqB|`d6PUhUxG|xc;v&Uhcr_&n`i4%Vnp=zF3IQkODU4qU2=g}z zOO9mo+<=RHUye3m%Pgp$?p=}-?H1*;eo4{+ygVFJ^!~)0`n=+3pZ7{vd!OuTM$S5l zM@)R|qI;84jq17HYZu{MPZ!-PlxOdWJ4(rH*qbCXvc~Bacn!t1OYmNew=^@@Sy60L zsY!YbxH{@(7vyMM8QgJNX!%OqA8D`sQ3o(ktS{;{nzhCB%`oY;ue(;aw(folk*ee+3eF=hv<_@E;iB|9z9nxW zo1vDtw}R;f?}SZ%;@%~eTloyu7WJj?#xqdtO=&0;$Bhcx#>c&fPoGzA5A7)R)ssG7 z04NJT-p&iENBZ&h9(o^jhwUFmbJLsgg%POjc;fvE@!SoyVg_2E&DSWKprY~_xf(65 zDdXZxZ%oqn5~q4ZxO_BOF>wq2^j0CD)tm_WV1zi$+dyJ(rtiZ=OTAwXL=kq#bD_~+ zIPn3nHV3~QPxFI(CWSJ*=7fF@KJlTP?873vLu5i3-jNy;7x7)^*~0hEJiJJi~}FV`q|I%yylI$|Z%rKG;E`#f6dZCv9Iur(y#Khc9nijp`<5U_*J+IR7PJ1IoKDD8?kR#LvcA) z)1vpNZB2ZGkF|<#;%WXXpGlz%?-0ILO8Ryt_bc#Qd>njh{fz@Cxng_GW}vrXtu}oC z5=IyIZQOK<&q(@jLQ#Vc$|WD;<^l1Y9ATb(gm3GP?<(B%AYy2}5ZxhMraN}@t!NyK z7^NLH(5nyXZ|2OPFQNmrhMDp25ho1Y_i@I5U_A4_vxmy)hoDMH^G7)S#pXje1HBqv ze~b@>{4h?vM+4YT~`RF|LzGMF(*g<6sY=!$cDvmOi8EP7>6~VudRkn>>d@x z(%duQNh|vgcT@W*@n#=B`V_%l56~Y1MuT!D1ZwqXBvLQ3#9^sv+`AB(#h&Kp1djiL zPxCQ8v?Ynzd|ZP=WuSHty6@NcX*Xjca{s|ct!B>Z{-k$gL;6eL8Y=?|EXVFwIG_i5 zyECxrlhQ$2GojCA^{4XpbQs_!0?C&AV9?l1Z6-FKZIWiPnI=IEF+W3DB2fuF83rrh zwS;_BO0^Me{@;LS#l`&=SK~-BvH=Zf#lPy2Ii#<(pxMOP)90OHs*RL(6joHa+D(6d zP*A%eQHrT1Gh;ucxduUhkH=k!NS2>C*dKmN;n(~F0qEUv5lq3_+eq#|0kORQh|~NN zABVs-)#qtpW0Fi-_lRsVW!Z(TmD4%6%Ot07I5OZS{)_n5Kc5h{|K>9(l;ItjqJL_E zr&eE?G_Ha7#9#6V|Dyu;HOxG+W4p@UtXYz3BI2`?s(r`Y~_%{pilBMrLi4 zeE1s)r)!aTOr9T3@`0m=9v%ia1qc1W+Z$nUX)yNR-k-N6wO?9^)@D1_`)t-`D}7p% zB&^of`|G0=mCVQ%Nz#~)Z!2-|LHN)YSpVZoBN$!Wc!CVJ*ICnoq9}*WgwJMMD6BE- zc@A<9P@q?ts8BA{M_Ak` z7g7cV7L(F%;G_dkZ7;{v8R|k+_CAcH6G+alW3I}Vztk0OYfI|ZL&DwwS*vxdN7Vo; zJHrm!U=aQ^)EPKxkpkr!ygS?A;zEaQAnIwh!F8RX;_*-0276QP(WYn789HnO@lQ;q z>9&D5CnjThFZtZXHhA$7n`g94fX_qWGqzjXK)iOb4VWFx6kg+ubY*iE5UM6EL0_gA&`Dia$*>-shl}@niW2iLK$9LG&O0in!`3Sr6%2# z1Xs`=X&~k1Tu7x8=iw$Dm7FQX`JkH%_)y`D3$^A#{8F_w5GdAKbCD3MJYuyFi-kA< z-}n-I9W2#uXrX(8?Pxa#LdmS#au~Tcl5_1sG;X1~y$QV(`UUASz7&Ah^4r6)y@0KK z_%0V&%Z}O&+o8#6qOz|jgMfZeZZ0QIe=!2S1TI%sD*7XQSgn%<7Z zIWZ}B-;Qg`UN+R#j>T%X?O428?YKQ%uY;y!MsZXk0_7UKyZ(K5XU;`Etz4${Z}Ir2 z%LUCtxx8R{xrl#aGEFZRaZXIe-IvS$Fa2G!t6aotx8)*Ut#ZlRCjEP*@cZ(y{=J_( zVD}fc)$3OY`@1k*E$jh&GVg(S-4@zzec`mgHNv;`0#g>+c4YH9+IP9hK+ZaPl!`9> zCIJ2xZ|hv?{la?bvM?o<9;6R5fh4#8E~h=CGRn<^36XAi8gAkaQkPzfx1&pET7vzS zQu7c#D20O|Yd!d;u)U$2vHv?#GxQ;eG9!| ze^HnoML_y2KJ{>uP=Tf?5e9g-Z0f`ko+)7zE09o(|H6(WhYzCpee$LjOX~20!g;~ zi)Unb!x*E(#pq};qQ3G7jwX?8Im-`K8^#z>eYNIu#fYZXVnmBewp`#D(dTk}O216DTZ_zWO&0Eqoc*>STUkE<`Ep-*czS~o!rK!8-#zgXJmN87^7#4(euUV zq;>@NB1NFRh|x>h`1HlX@8KC4-Y~}KIbw927@ggY;LcG5s#%QCh`FRGqlPsLbrHiG z#u(9YYt7@u=)`se_d-RWcEpHLx5bE2IoYz=OJw*|7-RHYG16qJc}6>eJ5v#;9Wgq! zjZaSz9>ZM{8Qw6)=om3NK@y$Sj^JLZ2o$Oqy`YUxDT8DS(@QZjykU&d^TY^Tsd;WY zf_s@FjET`%k?GuUjGUJ$UcbB%9a}|{$^N2@11z#~lhQC9OP!Tedr2}TuUARCYFer@ zo1`9#1g7&Gx+CLTu(MLwX=ODU__jA~&{)rx%oI*3rBn!$UbC$|!j9_-lM2hjj_(SS z8q345MyBzU#>&GOk*9@8Yvo}lc7;hnUFYXGHa>>J9(iJ8JlZTzw6((Jhhn?OPCVi5J zQD4)_jJj>bJF_cH>LZUweNBreO_7Jav@1;7A`hd!rp1$D$ivR*3Zsr%@$gTJCq0nI zds$bQbU_|QeNBs}Zl8yp-xa2=pNCOj)8eU@=V34J3R6$d!>F%m@zkmFuvd144Rpk# zzB=Qv!RS&@qs7p@S>0bdptg2balaP))zG~K*PAn~rN@!gBcW{w+N^EvYGPBNH7u7A z);c>wMl*;$S!?XXz_wL~dL=_sowY_O$HkOvXLJJRn?-Fi&ooY5uSm^6Za1kwXL2 zLPr~8#1-I+|D_K=Eet*&T6HDA#CYj z^4NCeEE>FRSEm2TxJwe)KOJ?eHKClf+7h-~NlVRs4iN`i;0y0^6GN^v5V;=_RO@MDQM0(__QIzKRwXlI?vX%^`E=+MwH9X23kHD-bxpInUe$TIm2@*j#FE zf3bIG@-LFH!AG0pwWN1U?9*S7kmRK~Jcc)40<`%PIy^WKIa!OJAWD5f^XHP3R;IaD z`V&6MNcuB5RSRPMpdEzYIQ~1~#a%L&{#0o70!Dq`=*{2uJS!I2HW2YW#WAKQJ2_Dh-@slCnBrBT@2gpaHaKb6PovP|9%@^$%V zvWx~BPA^tO@M`O`cL|S&(^rWgFJ86e+c~M@*WU8Aql49s_fK?MDH>OBXdQz?KI$5* z9jzkF?;N~Fz3*7cypKjX8V<7&WyMi_dxop`;VCFES%Nr|If1)Ga_H=(Vz#MD%w_Gb zP5Ek3-n|Ru%sF%BESZG1(%dYHEM+$)U^mH6T-r%BF5o(t#!B9fdbtE|#-%a0n2#a5 zk#QNv4EX!~ldVK2o+8nuPd@pYHq~oHwI&yIQqT!myUyCVBSSTvsI^jzJg9XKMh~6s zEr(qTg{3HQuO&`@k@LL_)TK=WG`3a+KbV{4uO%@*R4(Q;Fn~YLG}{B=*y|LIf=_JB zGz#1IXY2{qsy$o=L4PqEzZ{ol@p_ytYn_Ji2C%+iybhT#voFJGUIEr!j?cZG4|@U2 z8%rtP;@EU1Hi58Rr{^pF_JB^kg&rQ=B*GZ2#mT!>(#Yt;;zbhFl^d>QIx(}JlG+66G2Ife+Li7 znB|IwoS~glf2QQT)}pnxcjso?yIK;g4WdrpLb%_*HDkbZ<*J9QZHN#2gWd6=l}n(( zj9s4>>nYfMhb8!^K9n6MYnkEHaiw}_;mm|nuG&^u_ zCH^QXCW&tq>F$|e3wdMQGs$@znen*3%|n#C=Yd(#&0`+rb5zFTZEYS#`F7w|lj_J1 z{jHOYv>W$3+sTFK@L;A{^Yd!?Ehw*(ijCY8k z&S_JStXOTY{1o`ElN{Dt<6DjBT?o*>Jc|Ym%xrs-*8$c~z<>ME(W_`&!#jF(VkSyYhQ>#_xvd{Mx0)1cu|sR!4i0{&Pfc zeCs7?xHB+=bYDVboVkQcbDNTHGhoJH=a>EbV|`crS7h-;6{YV{{F|o7$7=70|J<(l zXJzq46{R;T{`TqdvBo>%AJY~8qAb3sqV&Crf6MgvSlu1*pVt-tyez(`qV!h9zioPa ztl^IM$9BbMerx3?swjP*;=g}-e5}ik_|NZ(e?b;sR8jf?#mA!ZXGPRrjuSmP;)5VN z+Kbhv>^td@rMOI{GELG!)viR$z}Who+Q9K$GMt;qAfhP!kYr#~Xv=UyCc_=OkwG%P zAPfJ<^ze1MZ?~RCE%({D)e~a(9E08SaI%Ba$A<10pwT{dEXYP>D{BJWYhi50(zn0Z z2sjTEx#wDR&u+zz*((}H(ebk3(GP*d@cnaU&_6$zt^Rpi#N~hnS4b{$tScv*BhxhA z+96;|D}Z^Tj!4@jh!gyltDVzM)`HG79SJ3r6JsYS_2|nL3gV!p2QtnC}uNy%TBd*vG6O z^hOC4Ncs*Qd$#LVcNQ#o1t*5enJn_>r-yXrL#H}S= zG)<3OoV6iQMd?S8uz44s4n6X;Y4K0$ir>iMiz-S#ruZLMeCf?ONO>gm%OtM;tgUOr z>uBqsMXNrc@yx7wqtmFiE8T49G+tGjpCH@_HEc~I%yssB$x83~^uChOYRp&f<$INRi2L7^@h;WNUua1 z$22?XfX9u3na1$2V;-8IiK5}S<>m62VUGyML>R?|VU5+EY}heV%wyzUVwkrx1_OH@ zBb7?J;qKVw|ejG;TX0-Y~d_`q4>El zh&8~Mv5GI_L7d*Klr#s0O>hQf(L5-dgNl?ZkD}$uqll9k@wnJ<*g~AW9L!P=)-2V; zLk&$6fFZ*R!1WX|L86Qwd{OUwQQesUq@Bxfret_pCWEMvLFC9FddVP8$ROq|8P-0f z3}|&P1J^%kg``V+<4YUlOM&hx!&#Ey>6r|oMh1~1gXkrLI3a_Ww`4fvDP^EsybSZh zF_b9jQhR(+yL|8E>noz899}9Jo{`BQYGe>OGKgL>h!Zl1c}s>vpHc>tvzLMEL0?sr zF_a=-Dvs}0`0gSDV??=mSSEw0kwN6hAbQClPRJnUEg24k(mI^Kukqa@C;rxTX3Lm-5#sLq8sgP)W~=!%VETIc zb=)xh2H)m4g@U)vPDedKz+$_w+F^)b2*idW@>U6XzfhO#=eKqWoIyfJtgbd9A0Ok}ov zmBAq%Et=_HD>RM;X)B&AoTYRJ-4E`?O9x4+T8c0`XGPBAlok)m{_Z2?mVLVyuqL3} z)a!9Nj@5r3Nx}X=PGS6qIO-b0$`x9!;WIg!xO2%%ez)l=#A)4aQp9O}<^7$ZVmGa? ze6=%FiEMc{4e+UNKB@gP57j+A`q5V3kB-hRD=F>7MECt@-|XI#QcWx?){nRk^&>Do zQ;B6QeF#L}zr>$gd=-1wj*{l@4-I7VMV zNzyrDHecug0JQm74d2#~lK?FdoUd{|7VS6C8;y&&cSd1c)V(v3anbjNL-DDkq~nZ6dGxmTtZ6(G@GZ>RzmNTleDC(yeSvHh&5N%PW0U z0YAWqrAX4B35hEt=R4!zD#}HF;RLH)UL8_HN%Q9rObTUqT>`C5u%6{9ej#}KWf)y)IK`pWMFAAXy@7^H_)}%ZI8A+PI5`|EPckhHk=J+POI}1IzyGzG#%0C43z*| zZu^HCL~Sw(UXFbHM~B?%+so;h4v}n$Wze^mqca^MsS?Yu*CG36Iz;j$Rsg0$&@I0M zAYIcfciw;aj;{8lq<7oCl=g0QixSUtORjX9pFed|H zF}5b2~%yzA6FO6z(nAuK%l{pqz92E4jd#MnaT}lECOs`l{{*8b{b?u3eIn5# z1RW&SHUA84^?`}!S`z;y2^d*w6HMWJhoOTf&Hn~JDU{(IKT|D`-tAs;LYIEznTJ*$NoNfS^j@{=rD3q1^3DNOC_ zVjub&b^WykMLV@oDl{G^yWTcI@Xw;#R%9=K{G{`-n%u@44E8?2pUaR9jQZRS?`qCF zsf?sWMk*bW19=3Gn2*!l|)SDM|*1n zjkAHOjfTFF-{(f>x8e?U#H}ZuII14e*bIHMMD{18h^iNd%>jUMsfMsQD6f=fRuPTX zP_0}uRIBeXRI4RWTj>nw<<6AL5JwyPJ2Es?4_F|ab&4ED0_#!km&*K&l%_UtFbg~| z!4j<3ehfcJa~6Cig)+QjgQ7OUqN}H19Lgw!GQ1w5sBuxdn9e39Gr3clUk%|M>@(SV zSFPv7H`GyYhB(=JQ#uTdSLuDJ^fE0)*-qzxcaM>fX?7o{&$73Hmp=S)s~e_I-SPx{ zmo&x{Mb`f|1?T<5&*#+6$XUSpdAachDj~LuCiX^BDcmEP-Qy}G&LK$Ea?-d;^`tST z8ZJ(w*`XWpq1SeWS_|nUUl*oxA#L0QVLA^VW6r56g0wy6oDOVfGBIV6=6r}Ig__XE z-9(vI*G;f^p2xXa7-U!b)V|Or<>5o{kJAOjO&9Xh)|B9EdAK7qX z=rAaBf6Uw{J(MW^i7%bH$Z4<(j7Dyh9=;nI?Y@sOp!@uo2LvOcN0^o3!RIW2FNl z(|8wC4xwW_PPDqPm;z&EIp?1%XM{q}dZEk%0_Euu<^h2Q@CfsOpxJwbd2(LuofeXg zs~qRx-sk`T)9?n7e0n>C^7BD!)A`8?h~joIi?8Twn((W4pq zf$8W(r#m300^}}S;>XsoWNf&{aOOrO2f>-6p{yGXCuQu5f8PgYS z=xfI6Bi#!*`fIa_>2f?UixWqs@H*ZzXosV}oMv_DtU$;K!i7(3+jqP0M`QjU{3(!s zp8t{E@}rD*~CY$(J0 zO%r-#xp|h^UeUPdSZo&|i|iIR#`JorOfM?9Rakl zU0sGlo)@5mBC{*}N;I7b4Va(VM1|;_dfpe8(-*m|_Witj`E#+dG3&+o&8p%hQ$O5Y z=z=V?aRce4H7G|*I`j4^`c-c=sU)_>=R>#ASG?ubKS5`Ui+)fo&5k^MUv&!Gz$@8e z#f}!=DuhqM>`L~wWT&g#S5XM1ybSwQW~8q2w~CM%xEHqCC=&6Er)s3P=!>zCo(JI| zueI)ro7;2WnQqTfu)ZJf73`nAmsYYpk%GNt{#q-$LzLixuyH4OAF;((=J1!b z+S1hYF{C~?a`i8$LkebOTT;#R`1AoKr=eu#ZY$zg}oTVJ(eNZ()Tl+ERm)!jwUt1pc7zSGQN?^bMo^*Mj;mnVN${kqB& zQyAW5`DWfK?d8)+*(L3k>b^kdnN)k0E%zF^tjms@2L!FvBg_MWrsEOj0YSZcgn2+v zm>yvs5J>D1<^l2g9ATbZgSPFcHz=H)OS$=r+4*uSOF{nJ-crhf_~-!oK}iKMO9g@E zdp>Ptg`I#_Nj$DsC>6^eR<<%o`ytV?^Ff+_@6AW$TL>uCfJDpD)J!^%nM)(md?knR zsV9CJDm;N9)1Tv zWbNE0FANqK3fVhjCLX7Uf^M#-5StWtsk%9ox-Rh^ovMY0`$H*xo;25mjY@U%w8(zd zsv|bbCRC0spByE3MgAfbSDeOJJkgFFTRgElkp$JplHjzSK>Io6<}0vFw1zIJSVI?e zpBGWRvecI>9#$(TO;EDFcbzP$ne~(=g)+SRB)yAO@>j~tp=p#HLw8M4X?~>%67o?` zQPe-dcTyFu+U*4lB>OJ|gwcR1|{xzUj?B-#GB$cz~6Xb6z171U(SXFzo95%qN#npK< zp`&z9miyb#(rM5#L7RC69?HgD^gq_tP?7#XZ~9Z#_bb&;<|e@W%&OpAnNrFuOMZVL zK@@%%Lq;r$-JOfOaRExa1u%B@P%M;7kItRx{%JYfh^FFc)|9-JHqoeh>O2o8V55MP zR*UKALuofX_4!$-01jH9kV+dV;GX{4Ko(+9F=e3WJkI(SmBtDLY<@(!y*M7_9dIF| zLi$|P9h1hGjpODGWQ6OCaq|JwsOm2>kd^j=jT{dbsG0^jThXEau7eB3|5l}-waY(1 zPoYCUJ77I-GvrN%rP3e@^wj`EeSIm)yi}+c3;Z^~hFXue{f6Q~eXzjOyd$6;U5#TN zm3X_}1*Y?q2KrL^LJ2dokH_+|r*e76pJdZ_kf(aRFQq>)BpT{npd1aJhva9(J|s#n zBKbo4OY%6Q;Bl|ri^AhY!5xPV6~Zy)!Bg=7-D1_Lp0G<#gAEV<6*~#iMFhJqQc4Qh zT<)#*IC=uw^Uw``tx~@Pamz=7%1NYP{;veOBE=my|Jx%ppRzqj&feE6;Zq;*Zh9Z0 z^M2?ztOop;b~I&5^F+VjY{noHl<%vdc1%z(z@AMEw~Wv6$rv-EcytE+;y5=(uEzxz zJor~-nAvtHop37KKb6?`qpH$Lw2p9;HiFf2ICdGp8 zQ<@aY@b1fs@fALi=7S|S0gWDgl(|r!Uyh@qV^TstI$xm|@EJUqF(;U+^kfsF#%a0W zs;{Xns=b#(w^7}4y9%J7z9yi@x4)v8xOw7uNxUWq$$H65Wx??+b3TrKW% zUzJ>6<16tX_Wdf|gn;7c#j9 z$^$G8{R^mF0-vs@vS-o*~{Bo z?H+>BlHu@et+sr;%0+$Ke$UI`Lsu*RQ@rL)yp7~4Tm4UaFjJvpdsdN0F)@j^_xhju zP(_z4f)e+?Y*gJGPtgN>rL5)|YQx<3X^Mq4 zKP}&$EbgCTuG4}BrZ#s#gHvN2(2OaTNLrLLr&#o8L9?bUC{sQcWN$Dyn2^Nh{mMk*S4kVD1!kofSxN-V~Ld1M{aS?HpJz#e^%9qPTF1 z$yN^RF~vkF2Nq2+!^r`P>WU7iG{tz>3hSR@5NtsMQw(}7XmE;wt_97QLbJA@nNxJr z7Bp*$(WnKLr_j4CXtvr^3mQ_zx1eEVG>0bDd}Y?ZQ?4ec<^l1p9AO?1TXTeYK)gFg zn8((QkEQSE&+olV|1lLEXV>pD_@7oO09}AS$$x0Y6;UUQq&!Kj{h59_obTYqk}U-; zl*{<-7Rj?JO1V~@q-Uwmu55DkDw(`N(&STKq`NVf&O9JkX7V{S&sU#H#K}&fxFjW^ z<|)zB8aEIWy1BwRek>*1u4T4643KKEjP6P~6zzPV%As+GqL{FD_#{kYs3zWnC^oF@ z1=QS#7Mm2x@a~(^nUOxIaK^GQXFmO56HGwPps)hEN0zSa(n->!@t2zyVbn5592ZGq zgqtXbu+B@+25l5Hb}Nbchxz6B~g7FR!i;yCGu@PN<_BXQqsV< z;ogWUgSQd9Ef#jzVu@9e)WuCym8lE!fVeqFn5Uz6wY$6&z}Gu_7p+{qtE%ccrSXvU zu6+O+JMj8bLF;_0NU`-wel_Iw3?qA~J#wyOiB!$U%qUMd%nZfju$W{BHrFVjyECNO zckd;Nb;Q*KH5qwJlR{1CNt>8 zLU#aPe++~;)&)(#9N2q00}3jYm~(jmPpLo4Ab#%?Sk$S643S z4Otl%O11Vrxl;1x0rCDEVIB}4$PwlNaeIz1PwRB1J4{)L-81DB9LHizT_1@{m!i$` zyQa9y)Sj{xMt<@#eSj%It<-p2!hRlFrwE~b4Kw|wg81n_&scZ$--5v=jM8xbMrD+u z`W$}A0mAwq8bKaCK~*co_4!=whrB+Uqj~Ze-p&|n;Zou$|99n?F;A?il zvb!t8esJ@qu$u6O?;BHtX-c-oaXDmPYPvt_dQX3DyMj%C@vF)P=?q0UbXaca6^UK zNlY1EkC#I;%4BiXvwFi!xMGI#n>X%wg8c#@i!Dq;0k^v2T1Zdam!1NK2kQ%dkMw3H zzRZ{bW7_@0ZQfZLwog>tHH8Mh_meF*PWv63uLdvOr)PksXZyEWkHDbOKG^d~mgxib z6hE?eaIc-tW8r2beFK@R@6C!ac7ea~JlB4rgYAOFr{CB&vUtgjed!et%?fM1y@?JGC6IW@f?>r+D$s)%{^*T;8x$ z8>%$<-Byj+I^k=_p4lDM>D^dopJTIvE{4K>Gw(9m7-kqsPtiHunUGk4|NHU(cmk84e6WcYs*K=E4*|b zcLlg{4*SO8+?=;TI*J^-!{~+M9J-0gBZp$*gFlQ&VK`=}F=4ijbApDBrSIY;?guow z`sq*zwsU{}=%mg9dMW4SQetQa?L^!3mtbDnsXtFYKcnAqazZbQ4qozlg!Jfc%bN@-UtLnan6?yY{!4;?w_P2BULSzWmA> zD~X(LRl7jH+gh}*yHYauWILNnEUl-s{&Pr2X-RDvi_N(n^<~{|RXQjyt?nz>?`O@0 zk=owkoq4O$Ir^AKc+{X0UKi-4`$Xv+I)$Ch;;5iHRA}ej{JS7q&eas?Y>h_0oA?BI zj3z$K*VM{M#A{wflb#gH@adb>MS3Euw8ly5ovJx+zql;V7U)TAd^b3@ufgdSm~cr& zw(P~k!4hGaOj6onDqG;}@&GZbTQ!5zN9wYL=4oK69NvHZz2Y3{}^TcFB9)$$p+8codu;_e(_9uS|+5$0)~mvkp1FoWl* zatiJx5`Pg-lF*;3^W9By^3jJfkbR2nVSmwZ`a`-2&X2tFkavFUork^i6YuQs&cA!- z5%2ueJCAzjXWsd_cTfsq{g`+D!#lt9&ab@lxOaZ-o!@xpw>W6nbCi$i_H@*!57Q8S zC%VSL^8Vhu>*W1|c{j-WpXNPV-anf6QhEPm-s^L3t57J}&*dd+9!mBa>R$8B?NGPo zl;`=9b#ErH75kf^UzQy7Zh9}}jhPXqTF~N$e9cWad*h>dv{-D-`(E=}IE{aS#F<3A zMgDu_kHmf+o7gXyxgSYuO zvAs*e^aDMw1kyiKAUs>-q2^VH$abevDW-2HO3}RR7g?5V{+np;uUZ@~q!Ue7?0_ zl(um-ZllXHZae=GHq zwH#p{5MR#`=4toW*V72-uUE(^xHqav$i9dIiZs|p{WOl5BX!DL$E#B+RBf(*$J~KN zV|q|;vqV*IE>592{VI&x2I)qDgMFiw#_|de(xvYK=TFVr&C;ol&rRT=0^VWxp&`1(k!o`N3QUA^u$x3~vwS%b%+v%IBMT z`IrX;lYL*L<^jRf)g#OUg2|^xn1|c{SSY2i;@+mRjNF^$#O^I}3hu2qYI@8~eI)Zd zRqwu4)a|>a7{2O>Shv#7Hjvpkl9IFcsNdPiXZK(9p%M24-wBK)Kb(CWPR*Mr@kyZ! z@BUkTEpdOrasR`oKlYb>1~A!m>nFV#`qTAs z8tIe-r>{%mbfG$ayNvxEhfjuMoKTL(IIXOmUXF{#{M?Y1nX&+m4#)08z_vtyT~P>T zP+2#T&*p0|8#M1IjEhS153!k1s7E8S5Q^m-CP}&yxH6eY2&oQp!KUtPEhnij@osGQ zoKnqHmixKNXhvP>pOMtru(%LD^<}Z$II1s*QZ@kKtNTa%raCv3cxThIPwLFUV)sF$ z)y8T>n;JlxlbVwVI>?EPapkqoZ&0;oIpfMTzm3#q*}vxeT-sjtY+p;v=6jLN{Z;kz zzkKRhYEhA?qoiogSIJ8M6oNBo1NxhR-j35dk;MItILFUm8|kA!h02L|(_7#;vVWm4 za$>EL!=nQQ;>?KCyP#`Rt)5X>KT5eBS4nTR>b8>1_Z9b~9>S4Q6pyes^f4lK)Nnc^ zxekrY4aYc~9`E#TcNBtSknv{4%|tn(`8smSq+kN;*tgYBz^!>3Nlpr7c=vbmGA>4X zUhy)O&HEro-_K_SeIPOYiw#i@D+9s}>tEF;;7mJ=fcD{eLFNQCEj*WBp(icQJTLr+f=`38^ zyHtO*Qn@Xfz?AVB{Y)#PLK)ueRBb=Whk8|;|2F0IUbXql$+X^xRr_&F5<%*qOVs;et^<(XvEqCmY0|8lalOq@RLFr z-t|CHN+vMNJk6&>^Fh%FW%vn7+4B4X z+*_=Td=57J@F;vZ?vZ{3w~sMhQPK!T18nRnVtOOl>0Q3Fc!83=6Edx%*3ysS<0$c6 zIO*HzucnhMw(Ja5?#Bp{`|-^Egm=?V%6-t?2fuo6=)QtmTQ;S^!uA#$$Ic5bTD+J0 z6l9_A@ad=VuL!I2Cw3?+i^55BPib5Zsrw9p{_#}zC3sao*}-d@@k;L&uQ2^Aj$JFa z0~P7#0DZYcdTTVem2w#_xzB@6@8M&IzLx3G7q`m40D`jx_u}x>Ei+@*q>F6Ew~u~( zzuiy$_43O3z{4uEsp=T-3ZBryJnq$HoH)9NO8p_N%l8 z+L~YUK3Ht-Z>*c2Qx(%MfwI72^UDfl&wU{Yb6aahHCS<}jmP+p3l^z}H6J)y!TkB* zG^#%%^7Fy35Z#u|M^VsU1z=^(9f?smt0!zzjALW-&@#bM`Zd1QbHg#A>az^#0UyF( z%n0ZQWAhx!XuX~~V(h+ORmB6r?hrh&`lNy*Unf6$KDnls zaOq2&#MpnYLVZt^5~PirDE6WyR~)nCMyWfqTcND%r{^+w7La}x+q zHp*9U-xH4-Ct_`Av<+iybQKjvqmpCPm-LLQI;7Gnzud}sT{zYg8gYQrG894p_Z^c& z`MC@^ZdZ9;NjVL0FkaytjJK#JTWrHU?Ru^XvBOYeeDR9w$8ht8l28-+n4#3q0`5hK z)-ifZ6g>?8M%BtU#IRSjGHA+M^6Za1|Db&Nk*O%Is+0tpY&7_E5B^ zlojv%tay1&TE*>)IQ^zt`3Unk+r*(lU#1H6Z??2Iaai5`krkKCS=9dY7y9?9E0M3a z8DV7Amc1z%YHQp7KE>*pp2WWpqZi1h7E`~b5?2m(5?1VaeNWx-Q#TQP3u_gPrn$v3 z(l$E+vDBXQp5m~6jdi9zC4KVe6@#7wOw?d-FerF^5d?#?gTjrZuaLo!ps+3XFANGN z;ingB(oAd8FP8c)ZXOT}u^wR_Kkf{}=YzB#4zT7&x8rU6Zmvq~QO`>|Jilvq70z1B zYWx-0BdKtHTr+Zy5QCiVP(&VwNZ}?Wn<#PmTdm0 zw?9_SQSXGK-kFSKi^A~PG7ktwZI3Vya|x9QBK`)>i1<67W@Xs@-up&czPVA3o7eKq z&wQ*2xj*{|3p!9wc+|oc{T?kJSJW&8u5@ST#>@&_vKY+*!+RKN-N9Y z=5S=?+;Hy7;c(u{S&h9G(i=DOY5Lw+Ert453AHi4jvrknNI!T}+W1Q}A88sUa{r>T zBK*2mI17RnE=)W8&Q|#2S-3Fm@CRGrzsbUdX@@`73TKJY_zTkxf1(xs+bmp|c6hi) zExxmAF^;^vT)ga{ym2~RQE?w_6&wUq(BoETyeq_1G8igmo*;(?#F!o zF>dEYxg>p95%N8uy@I|`zb7Q#2hv7Zk=ZTp=1=}FjwtO}NX_m+-!jjWR@}&HX1`X> zWK^i;glXse@Lj@%$-?1tNydjYtgHp(e1!S`NJmRqze{?;wB@;QmvCWrP3M{x-9T1j z!nFCkKM%KO@i_w85GJypvuicm@9#n+Oc&8#T0~z~N^lY;+9Jqv>L{lFORQCkvSMtB zB}`X}XYWEJOc&AQE=0m~5#5#(nQfxl7iQPeyfde3i6u-Ivxjye5~hpj&n+UxiXN4g zFwqu4t#Y5cxVte4)2_T~9)2qpi50mp(H23|i+q0b5~<5o(Z=5smR{_2r+(GR^wL>5 zqgMWf>B|57=H(fW{}hjL0lv>)OTXM|y1Rg)XFnB7oQ@U*7x4c${@2c9e@$U*ASO8O z5E35m6=KBjwF3wd%rY1uMNcYcqY@jBg_vuk*m29VSXq>35M}fWp}UTO#cwXY86TUA z>hCehUvY)sQe?Ccqt^}XkYOhj^A11F}f6NWS`P2EeSO1mA z>Rs*3DoYHILC<)faxkW^b`Ip)Dm!yEe&>XQ?nH)4^DU&LgJ&uvGb!>K`iFW2een-l zFyT*xd50n)YbwG-TLk&0vORRF($KwzuNmRIU}%80cid~iHm{QDly_rFbBKY`_5{oW zVmL>b2gIBlVIB}1z4lSe17ajcmL52ognlFZ?vl8u2e~N9K^XwFmEOsdZT*NHS&(Q zYvokjb>6w&Bj4_!cgkr@iu$Kwy49m^kYg{$xNUeT@ANXc-nLqgJRha4G_F;=r_=N| z{s$5=iSA9(!=W2Z9EKjh?PAcx60&8R&bJcQe3W!1g)+Ru{PAmnq3y5jo^O#OK<||R z>mpr7_!%tHpYze}F!ld9*n<{+7c$unB4Xt`i0LY#x$S)F$6=BQO4+SXY-P-sVTL_g z*u&J1nRyzWVN}+&S-Zrv(&mPsA{loKFoV+dE$&toQM$H8^CD;jr6&nx^^zer2w^pp zAx;s(>MBE=D1@cN{LOPQ)EmHqSknqV-UI3J!dQM*hK+k#?V%%d3Om|wV1@2#QQyL+ zCidc%K2IoXLs5E&{FZvd1L=jr82g1pP`II{nCW<)!^SQTJ5S`+=rZC9gs|q9AzmSb zwZ9B;kq~N$yu!jamBJpVE$%h_TuR!*NPpO-WP&8JRbE@o?TY_fo5F7#oXs&%|O`nmaTJ0s@%VIs8B9I@;ar_ zPa0gwDs%UE)uU$p?1w(%L8J6ag6E#j7P5AcSzjn&v_%VFBo`1QRMi>5ZNc>Mb68L*o;fO@jw`Zus?{u z1C>j$U5w{X9PCSA(%hBJezta8j}HByg5&0Zz*r#lCc9kjC#b({$0{0IOMIT~8cs19 zYdm?xmu=Irr>W%Lt0dZdl8lemqMrw!Pim|fTceWXw(M`Iz0s$KV+R2*?{~ig>mnrRPn10 zN#A7f>7-{tx8!POcBl9x^c>cIk;<7WPn~r*0at&a?UUNuJ9Wp_DeM1!>(qQFr%a#t zS>#zNVz$x!t?(-2xB>b^evcJ{BMbCxst#|~+d0=iq}ug|Ff04d=g#Z9Mf%_Htq<6l zPXB-`i(%5Q?Ra`xwlki8#5Da25wpijEoI_;KYOn5cB~|OuF#J4WXQXwA?<*u#iJlp z4i{J{@Sf2#RjCu}_?lj-kh(v+DwN^<+0|g;2vM5k>Hi=Mdfv@}8rRCKvj2jx^KL)8 z$am(20}az=em&MGnR|ttrHC4zmW(QSe}diMOh}c<9$8sV9I2EobM&q6+150dK>Z;m zXrznR=CntN)_z#bq%2K53q&$;G+)c$NGpRv8QwBTxhT!26@%bY)L-LXWb+4HRYHx0 zd*+~u!G3F@lr&a?ZLH#BKTwb~)^x#ZyWm5+;3K-=bzSg!!N>B+_@5|vLmPgv;4|9r z*jl5F4d2iO-_!-)(gnZ2 z3;s|Se5c@#^U2cxbQk=&F8JOq_{)O7&L@k1zu>7h{9VC6Y{L(C!H;yoKktHn*#-Zm z3;u)PKl91b|Eu7gZ8%&CobbuQOI`4cE_ikqToF8w?#J!N&?dflrp+NnP+MUGQmL@L7V-<&(v~pbNfGa7TY_2)?*Y zzqt#Z5d6A!_#3+5tGeK81Yg&tf4ktVZFpN3yuAy)O>jqhyIt@de6sx9)dhc2@ZIh3 zd%EEJy5O%0{$`v00l^Qp;qQ0B4|Tyi1V7rQe@t*kc|I<w z@V|D!I|X;>mvGs1I1${TZ%SS848iYg^PeraL;i~34*fB|3tl9+qdu1kUco1;kE-B~ z`dTTtqrO%N?&!~Jy5O~f6Ed0cJG2WvLhw31S@`-c_*lU!+wo86f=?2>rX7BY;12mu z6MRBD{H!kcT*2-3GO2;MaREp_GHR@CJlF!C1*rFA|B7|MC7Q=*J=3yTM6gpnMuJUO zv^Oiw793MXR7hzxY_QH!O+OLvJ`{74EMPsE{{n9;bDq z&zS9g5LKK0jamtvybVq$UX=bFn2X>2jZXpj<55X-CrD0DegmU)pmU>JZ(;fUr2T`w zwXOZ=uW40?xw%|Az%k@a>nr}=o7&3ah3-jMHkLV7K7+_s`+9Ij6ZDbZf+&21@XziN z-p`Xx&k+l=ky&yv9uvDdu{LeiWt=tFu^e%?Vy}b_2p4PMAKNL5g zC#Mkl)xV?4apPA+w?cHi#7cQfqojwPMu*D$3`KtDIz5JHwLQuOUVth=VHdGIvbPL3 z1y9|SPf6W9tO}(4;?!3=o%gAjUYBlFFiTulqL^$lqQa))J#bo4X@@5 zP?JI#-tC!d0p2Aluu9h3Tn|+`6Dru-R_Hr-%qjQTq<)B(hPWME@=NgLg4!I7DCG2D z-sZyKp5PVLo;d-3s^7zLKd<_Y+&UQ3o>xcxwb{jV7Af%JZjSBqnBwYR=&6H|eWc1m z8hO_4TkA|)qsCha^x0F9TB&hdM?0WpV0)E9?IsR%4DTM&ZobX7L8EaIg((k|lo~g- zn5c|6M)Y>Af(?nmQi_B%F77$e>V;n3}M&;#?f^U!peKY%QxG4QGx}rW4H6V|_pI+Ms zPP|EB&vIpd@(9(idO)4guNk{g8p5k$mI3G0j2?C_WTYT@30*XTJcn zDrqdM?lzL$9D1`d-p$am*J_Ab8a>ljl-2{-Jquo^c0P6@jbe0u*f>@E&)4T&eB3Lc z9aosAXnYLhwC9NDs_nG6^0ECZgI)2QZQuh7ZUVt0ywP)Ujij|?>+6w6+*5+(L3Fj^f`|Kt=nUKhg>MiR z$nvDzr>Ge}t_MMHuyC(nk4L2Ir?t0Jl{W3IopzhO!oo3qpMrTu-d0V#7`heqrR_}$ z!W}zJu9Td4K%AZ<%md<#9AO?1XXXg=fH*5hmLxE+?bq-d#xOQHsUh# zE~J^b*W*R$yDM?i?cRbK6LYR(m$ZR=XlS5dmhZId;O<1%c&rVMD!7;DIWP~1SL6uu zOytuNcb$@sJN5yul>kI|WgfviATG=i<^hrB2=lNJ{Z6808_}EDP_vEb$i2-{aPN@A z&f~kpf1S<~>#_(tckbQ7z;C1Y;ck-4xF zqUlr-MQ%BrxfG9v46v1bhZ~)h9Io~!{xm~ju zlEK=NzH|wm{tz4UO;{KsmheE*3%n-*+cUH0hn;2~Ta33@DR>)uPEdcQx3N_wry?hc z$Ih#47$xJJx-02%!(4!swZ4z;{ ztrZXDWzXS!6&8Cr%3u<2uP&V#nDFF3v8P79+?jt)rS|YlO>H>g5}KkEx7srJHv18< zT$WWo&FcGu@E%HPt1wBIA<;l(u(lxSOZu+omznM&%;LJe2;u?v4TF6x1`iR#OvbP9 zjtoC_4rqrp>_^OoVqU7rBzEtEO=oJw+M06FQp1GCk}XVJjF@J%z8})&auS;q%J7cu z{aRv7h-E2$kra!hSj=ow9v-3+{9Wph+h~W4`}a~qPLdz_d+*m-qjAdgE0k5G6g3XO zg77v+oV`r5K6{xa>aangqNj-#FDWF~`-f^y);nWZB%Nd(?9|}1vn+RXzE#6JZ;GbA zmA9*tUhdl!eeYFdH{AyU?U@STrve16%YteETiBgiK!8_bnC5Xcj zTd4c-vVum8uy!Ieg6*N9@mW5SIXH?`JpiLBx`zLmn`}viKpK5R z4Uj^wNg$2T2_#ejU6O??DGQqofly57(nIfEx`={`G=&6ILyzT(EeB}1){Ly5kQe5Ozrm``)1x{! zm1p2^c%hdy$KfG(=~5EK>ls-uo_ztM0{wwPm!Qt+Y~;C1=_{=gs^-o{@b{g&kUst9 zE}~Dbxh3?enLC$0wR0EKr+V&_^r@O#grA;s=irCO+3K+yx}?o;x2tvAmc(orR)69&Q1Eg^SlwA=XbQJ@(B!n-151EVKU^6NSs66uf5TI@0nv2b2dK}`w!H3nAihz08Rq&K%V>5{p ztTb>BhlkL?+N|ky_>@(mmeoOV;T$0ow1O0B%?#@f`^)6B!fo>Mx5*1%@6&)Hh}`Jp z?ol=&OtkgvF|2ZR5oOQu;0eB{MYVZiG_2j(gm@JSNoV8Hy^HB9st_q|8tQ6<92R~p zgk^3R{tmVr{Gf;0NW*@Cb*I;{je^5(RyT!R;ZWr!ny=avuG-VCaOUd5Q3yOFhmPrU zDjbQ6K};_`qVg(UA$?au@kAxbcRmE9!}{hegGQih@F(Dv4?j1A_X>a)`G<#t9mB9f zy+v*!B~9~EDjJGRt*}&O(5SSPLB6TR8$V4r?CO_KRh2h6z^#F|sWpU#k;A@-p`GW! zTT&n~cozt{)#8PidKa)%^KQt}e46ql3)_YUKN~x?=_*X&;WZ;JOM0uiq%Ex_)z(y? zc@PTL2Jb^Wd2P_Pv?vUu^V;G1R$WT;E*dH|B7+bDGa5`M57bCw*-&I?B13bjsr;oi z{0PzNENjl6W$?y1OqK5T&++H8EO|YR1UcVySivdShBba;T+>Nh;Cuy)qvvJ zctETtA=byE@Kpg=6Z^j` zt}7591#E?zDy?Y~$Y2p|3@)q%!0ReH-O-xXgI|OSo;Q5#`FBG#oKy-*!FvZ-hF~q) zvUF^3{H;j=dcmKKWtrw+b)xjPUTDaX!7w?lwrvb$x(<$wr-zBwO>9EBi}*G~#Q7V} zrP@t}pY*`25}Lmre2AkE!f#^`ypHEV`QCyy%-;!9P#-u&0t3S?*1FI#jt3ZE0v@Jd zkgPIlC^C4P}J4t!dzGYaSl$VIuPZgu^o?aMQCtbW?0R z8iMn2_jCBWSV5>8KL2O}pV!I0?OParV53ooM?r8n2?1t*%C)jc`9<|ySe?KL`ZEwSu(q8J;v7gLs(IsaUfy8l3Dj87#pBMfWx}P|BmC@__9^91Lde z(7}EcI{a59tcLY~^licpgs`D2;i?U`*N!r>Ti?-jE^yjLwJ(@$h# zhKQzya>BTl+}1wb)3#-BNY|!3D*A1mO?lq2jpspg3~SEv*wWlSpNH&jQc`8h=l1q#sPAe}?+f zgLYr70v}uNnemSPX z!TP)@1^Ow5eDKuiVyvixD2CYPdUJDKMnR6Hz-$dpELi@{v>OuogKp?A`=4w;rNof$7>9ZX zBU_fqY=G2kZHm4p>T~RU(b5Ju8Coi6_xajeTE3&Dfrnd5%a2SP=V)m~hKwwyp(WLH z`2w`o3`2HJ#*=C)(r1=E^9b7+WCG)v2}-fCC&%$6Eu-vkUfG_@TOMsVL(BG*uQXe9 zN)$tN90#khnx)lySbm;qhF+I%&CGpFWe`feyrt}!>>PdOEO!={YRWFibTA$=kwKZW zF1s3XQuWZNw$_1m5N~G(1t2&OohrrfqpRuOM5G-N_ut)q;!RMppwM8o8~Or!Y`x|XLJ)oQa=&rx4i z*2U-ITq7sP1U<;=X;rG@Wg|InN|xDRoIKfL)EBr@T6~^4%P_@|X`G^S*}YTEv!I@~ zlM7PV*gObbv+7Vq!}1_<=w<=7)LU%&xH~Jb zs@~ZMtdclus$f%!pHrW9v=P|`;2zCIpGNIF+W@HF$p%3C|H1?!<3~DK0r}Zo8-=EI z;qe7HyyY16&KJf+voYHMGX(b+#_G9GjY=P4rv!HjPslN4;}p}{((aU%XqrTw!nGR4 z>UG(9rb1nosnBJIbgc}CHN|AHxVR1uby7#7VcNga$KYXuofP6Ql)CG8!}{y`$HQd0 z1`Twnx#b6>^&bgUu(qkYwjV;_bZH~f29K={?M?&9W8#OT4j$*OCk)Uf#t(&pLjb!G zQ|=APP#mWVToU>^j)(EiZJ#hQ{oizj)Bz*n)8V>hw?>77qN~2(H0s4?nP%y7!FFeb z)ue*4rpPS(zeYv$H^6O&&H{lRrHZsHm>igOxe(fz3x-~c9+70wXF`NLodsr-x;zui zvEh!*oqAGWNv}|kb#m5DLXI()s_Ueo!3GO-5uH9SQ z_4O+htV^yX{b7`OvM(j57+Lkaqf#VXUbj-yn~8g)p?~W)Z_!<`7!$dzgr= zX6d_45;-v7L({mtUL|2<+b&AqlWg;JHGalJEC;JdD9HLZCXqhof7*d-VGgytf>}H5 zqctB7J#bbVeNJue=^m|hY+X4qJKf9LBz?a51R%#6S&TE2c(_G)_J!(y`T5(Vx>oOh=dNu+vKeH-NS;wozC|tdem!q?;`l^VLMnE;lmP@V`EV`3if*mALTPv_Qc2V$fd*fk=Om@7NOwNarxq2EfELWdd0JU^K14`G!47NtKr&;ph z4icU=6y!d-|Ble>bMswAaHsNt1zDDYTq8`|T~A1p4LOnCEg$W>~H`kbp15Y<)c+3htnIgjJ4>I6d2ZHz(ic@XIPHGVzB6O;oFsh9Ilw8m7zwX!?h3< z<3d403h17qwi8lShRpCR*TvmCbb4Hop$8|p_UgVfCCaPXk64hw zm1cab`e;?9!s8xYW`VpoZ6C#VHS>wqTJxv7j z^00O6tiU+{w9O+zICgaxX}Atj_SB;aVi&@7N$i5uA|KZy6Fv!ovBh?5qVI!EW_-lu zR?@~^Lfs`k2O>ESXvv@qhXHK}j3c!k(6S5;0~&g`>n>S_$N_L0Zg=0;-!RE+D0I5* zyLsg1wwoJn?!LLcrk-;1(9MH4_trR`K|+UaZo0YUCK#2~yxrY^L)cQta?8ylI#T}2PMv%3x?&JCc)LpNwL-u zafoS3LHUwA6V52Cexl8-h(R)3hOoJ`(KAHK$i~xgIx1{p>Z7eAEt?*TTaC!U8XUdh z(PRd#Q8@}6ttS<3QKuTrFb7e_P{$zFGP(#O4{PIK;_7(mw2?qO7o#Obg3E`Uh)i)1 z&4ZnW9q@KxobW^nROvWT8sKDp@i|b8T3&>+3LHlj@Nhe-6h!ui)mHmar6AAE&X$3& zI%CK!x?JjHTQ)}0zif}iQg*oJhmHMA<|%qh*~#p(7xQM#c(nc4hu6(0+fxJ!ffaVD&(I!H*hL-bP}^hw_RL7Psh zkIyw`n_N8q-(%Xlgf2HfB2LA3faZ-gc4bK?aL4 z+d*@rlp%WbcGM3%`*P9`Oww!LLyeA04(Q=lL-~;d(i}CEVSs6Ari*=t$;K(hyc~lu z8%kpx?}fqJbkPJo>_9BY%R^n-c#DA6K{qbmGO55^c0zA1+XEJNjzyN69 zlgS9mc9!jNwg(rFv6I0w{1a6xgd%J@fD0)f89S1HnDk~~UkL8oU+i4I4U@fi% zkeX|O<9!E>0(8Rwnb?lsq;*&jHJM$E1IbRKzz_&kOSMmR++Tto?#6(r`pAK)4r(6= zYYi|;8=PkUl?ygh&fizL;9TW`lF9}9oHTD87OD>K`f|Z}C$Y_V@a2LPRa>5|(JU(G zzf`$kS>=KwmGfcpZZ#5jrePbpa{k`R`3EW&EUjE{xN`pf$^|E@<2%@hHCd~-T`~(6 zL)6Lzn<^I^qdLRRV8`%oMx08UsI`w|Q{h@Apcwd_3$VXgA;5k@!RBp@+`%~F?l0f|_596WA2@b@Gc=CXl-yagZD`%S6Wi}^g?nymB&)qT>iYg> zFj7ZLkX3wt&xw1_opMmIEc*J;x%<0|9Ym!4uMe)czvG;}_7%YfsIJqHcJHOrU++5h z^B zy&G(_WWm~wt4m&*e#Wdxo*wJh=Uvg&!sZiLW%*z*ydKXtc#X6M4YYH?9mKR|G&{aaR?IabLoGz1O6oW91 zlX;}mJ*=Z;41g(-gGnUds&s7?KPhss2UvoI)#ag zgKG7Kw)^(PB_Ov9#>Cp{dxpa(p93ClJNk^s!J{0tt+&i@)yq+})?ZPSm*DO=2i01! zU-{AUl~6M)yB`f)4hA;ELmJ%omX~B0r{V;!dRw)tQKP)XY@BM-{oP$Tuw%<%b<@h% zW$32CPe=-;K>DJ`o7|2YMni7-x*FHKQYkGcgffhXlFEidYf;WNgpYrmEC_}IX9F7P zd;|P%MuNN?2g^VYcb1Wt6FJmz-8-qk;_4|8{J6%tZ`V+BkB`sDf?w;@qQ^VkzPMAT zyvaJ_-)yoTWipv38Q|e6EL z#zNEOZRJa9((O3?<@u(|=L|5_N+P-anwMw=*3aI;zhMxk#mS)GUJj|?z7O?5e z_;rAt4_>$b&99WEInLD4!>timB2yh_>ZvBPrC>^dt3`_HA41~Rl9~)bJkYOsbt=&S zzf!C5d43!OsogN3Y@9OboRfXTa9|(TK0k-3%78CF^#6ang?G65v23rS zKbdsA1%IAxZ|i8&Y2b&SqT2ZN_07(Hmv`Fxq0J}#i`kSJZg=hW`J;zh<1dID0e91O zx5pz2@?Ac)vptXi4-~MPu&9p}ZG&0QEpQ)rPsQ^P=w&*p0KPc|v@w6{!3H;$Kk8ru z+emmozxd2Wwa6AeD8_G?uQu=}I zQ3y9&tnSJ^0FFYqQ1J?6f~Pvb!3i$A37wY!heWs*?vi8QfTcIPE=E>fvEfDuoG<}L zF*wa4#3>7>Dq#KBR!HXVe8z&}4JR{D9P+R+dxrxUuqRY()j_o`RGho9Kv(f%#S3;_ z1-pR#2@PT)p#qk%Yk5t`&vxh*=;5wg9-u z2Si9nOE>Q95*>B_HSD~SEtQX2ei8c+}P|Yuo#awkru?!Gj`*tQvevwY7PLSu3Z4? zZD2)s_zkp*ZRfKQ*$d=hcPAK9Z3bN$Q`g7?er<T=hhwL|`Y z+InbB#NGZzo6cf=g!70FC!Z?vh(P~lnG8h`3(vE`YVi-~>F|cJ7WV z%GOBMKyG^5|Kc9X{|j3v-R#f6jgq)TZ`Vm=7zbN7EHGuZ6HzDmf4+w@-|^W6dbpi) z%!tGveA-{>;6xTz=MemhWlgx9vN3uGn^1nuUu`{(Hfgn{+AmQ$+M$(ULDc<Ee8evW-QsH`WOIOsxZ%sJx8|Qw(JXbB&i_1G|lXXUMMM0b`PJ7OY0*>Tvg`@1U=Ku&L7Ksj;{rh{sKTwY;1aINlMUhdV76WJivScj%oX zv(0*=%VnbKndps;Fkhpy`)blD%vUs^#Ywr5*Bc^OO zHr`lOorpWti)qvum^R?d#Qm{-cn0BV+q+fwx1>%1BXl>Oau<9Dw9_KU8!BvPSu(h} z`;})*&%!-ArE6<;vIr-WPItb_U97!1D&C+ghhK!yeJq?EX=AD6wFYl(Prw}aLIs?5 z=_uWc6FeJFWnu=C#@bqPk;8aY03L2FxhOJmmN_SKq~lp}Ba0>(obPX|O&Jtg8&ih* zpz?1ls&Rn&A1$@m9WjY#PCDF#z+DuWq_vZ{HRA1fG$yGW%=iZEg;It#yGu>Q8ai3h zT7b5!hxI5M_;gaPezqFZ@wFvb>#%MX)OnqqO8b7$NN3uXJ;IVa4ZN|hAuqSV1na++vMv; z7^W3W$}wi(Ss^HOajeqaW&am;4&U8=hBg=#>Lc#%vL#j9!CD`wFiHp&_M-basWlO+ z9_7Rz5lQKbkJR#)hv4*6XDxrR0WRZC<34Elt23}FUkfdx^6#8J@UN8*t>$zbIh>J> ze;>hHwcuRyxVX5)G&pl-S~TqInU-Xj4D(ZbUYVGq&(HVsE});*q|M5=7;<}CF&&PG zP1omSM_CgGiJv!(_0#kj2HkAs>s&wY*|PmUmH-dx;Ac7$WE6cp19Q>MrVl*V9Kz#S zioQ|?4&zX9kxWiv+BgiBQzJ@Hct1r?3F5y)MO*}+Ot=j z96A|J%@OA0=Z&CbM+$YSfly|QQ&FRA)myDyDwZfxTEV0m)r;2kNZrb%grr=T4-WaS zxoC1j{qL2iUkx4hF&AYM3XB6g%r#{ee``u zCwP?#V=8(dRcb@dTFhhY9DH8e$5;zkD#dXJLoB_(+3wEZH!_Wd|G*i(vZh7K$N@?4 z*#mh02w*sUaS{fGKZ&urqnqvZ@oEO}d#lbY7+x#_UtffOBjF3YDu%)PUD$0e#xlVV zUOvL$-6ITMsEP0FU=!fquka7vp}{Z-Px!?65QSb;gzq@&3u(ZcVHiY#KW|YxHTx#C zDpbvWCD)??e)k5~o3(8a*ua~`kvjogHCx@l0`7?hJHS0h->=g5+Z5{?a{DyIFlh}j zoyqh)pWG61SChMwq*odqZm4Fr$UWY8dt)_=(_!4V!_a-T1^WC1u0Pw{5>tz9i*72p z--GMV&a^|HHto^v7J)vEBJq1Nxlc!83i;6!qwBHI4!=eFvzQJj9o`|iLp`>r<8RSw zHme8v^zVha)a(6wFUX}ge(z7;r^TT39=X4QTaVq2`wddN*a_nfO0EhGW~&D+98{0( zNn4fHkj0PdIIbZZ2(CZ7{TRlL&O-MGW}8=~b?2+$?YC;S(~K!x0N0;= zNZ%h&$Ugb#GdX`;zM3t}$GDrwJxuOL;Ciz^@&lp$A6hV%u!8N46WMNfy^@-}RDe0Y zMeeNv%6A6388grxcnW@B2R`0x-wd>zOW?v=WeQO*J~L6eW9F(fH9Jl2b#lL*iMlq= zLg_|wADdkjn#f*%5_25A2>q9k`y#n_$qibJ{z>Fo$lXWof5`P%g3?9g#yo}JLzkhu zdikQ|YW5zu{_Llf9 z|K7`=tsr*~x#z)Evxp5S?Y9BHKf3|zdy~HVZN%^O$ZbS!b8yw{&CO>v*JFNLF#VQW z&?ko6A>@W`MW5!|&{dD$-q@REY{Qm}*^WL#$(;ypFx$9&;h3*$E0jV%xZ?nypiH@5J96VN9Yd>XO?yU}`&ky{3?nzi49HqeRO zF?%qD3Gh9GS@w{P?M0uf;Np0KqYb+7pRO*`!JE`nL=Y6-N8A%!34D--3GxAXT{a2G z4`jZ~2VU$2#>)bj7i-U8K&7{iG3LWMz?fB+tpOiDppHbCk{`tCLWJX_AN<#y(tID% z3}XJQH_?wk4S?c^>hqrPRw#d#K-7&7;eJ2^h$a)&g|~iV$>tK(W9d}tWk8GtvN4cT zU3QRUf$;7)EZJKi@q>4@;v3uRvJXhsm`$Zr{vv7uR}4(kN5cGCFt}_0wIpf{^(=giYLk^>cJ9;mIz8F+A1i8=ovw&M6U|M7u|tn5%pxFh#nI4Vq=K>)L61!Y#dQb zLF0*f37SYWSkMzhQ;2#qcpoX`u$U-@WfJWtie;0DULlHOSwy#q`mm`)-wMhhk~CPB zJ}i%;&4*}OYLKS!5}+7O0#IL8NR$q;ELY2OFRV-HF857BfcNm#%7Uhiue zysOYh!j@i;sq7%x5;mA*=Sa4M4I$b4 zBwNKMlI%C2VvdC4ONcj?vy^30$PPdZXbOewD`ZniHjHFzSsu|uLDPt)2%1i05oDHd zWLOB~$JVlZlI;*O3(>2B3MjvuB4nWi$g1EKnO)gtHlOHML5qpBKC)~XQ3FA%h}sES zOVnG?Mxr5twh}!qXeZHhL3@c72s%KtLC_JRgMy9|y)5W?qBjM-Nc54QGei#rT_ECc z3xV~!L{wMM6{2Q>t`bEFdYdR#&^ts!1ieQzLD2g|xq?0>nk(pYqLqTGh;|6NNA!%K zZ;8$e`hn;zLB9}vBQ)K$4wggFW!- zo8^yJ=9k$R3R&d88TcG~oI;)k@&nStO;%m@q5m&LnIsFT^NW8h$fi)d4nT~ZXH!X* z0^|pjO|l6>mP>WW6|#H^xmb{e%CeyjmgQA8hvFTlc$ZiS)$cq|M|O!Vq&8mJ@thP^>$u>|1t=m#W_EduHYZ~c9fWLpBZX%|Wl zfw0Za0x|X*yH2wAfc$`N5Pb*nV%gv9L$W1aPo|GZ)&wZRgYinD2tjv=dI|c1sK21E zD3vFGVqr@CHOcaT`g%zGJEBE`z9-ry=m(C($r7T zj0f4TM8QCq-$SC#f_@_!Cg^vf3_*Vo%>asJ691EED-nG4M7q&~K;n%DKjmcI`K_W``IC-$npNan*^dZNbs0!A#g!g)QGP7<+hcURQH&@I0buLHR^Up{TL(d?vME zI#5TLU9TqDBp{ea3NnSF-gEhSk}V?HG`@pqIZ+`$OtgV$CV!S_XDI5nh?i0Qo)5*k zFXx|9-7f(70o@~wy+O2^|Dy7M_FQB^-LB>jiF&|_j~`pZe<%8lXdV9(Zt3f?0W(py zp8stl+sNUq6ZtJgI>5t;77-of?TD@s9paHh z{}3JK(L@uU!gxn`N21$AM|o!=xkk_Mu0-pXVaVgWyN&E5?@4rlWT$y=q7RAA^H`$a zh%WIyRHIhQF_qVNJkd`?Z}1cfDVOCMA4;;y6&SLDrxJy(LVAaflG7xuyvHXJU0RK@ zTl@*4F{Mbi`6M|c<^Cbhq*TVQMcF5OGRck;ea3T$WGlGCrxD3kaF?5jsEx*4dDcw1MbJ7=U19NZLdsm%5&`QysuU^Pg@$yf~%NHOATGM)z45o8IUF zxKB3v5!{uH{sMOgxB={jWp|6#Y-hs_yfq7Hat-`@G}*wz*q|mCc>rrSUnLZjx#>xMSNN1vj_-Yv7i&uLO5vdoN8G+aK{5xDQo@;Jy@b7~HE7m%;rk z;tsgC+IeWh*sl@I!S#yluWiX5i(CXQeh*{eQTMc*z7H?{D+PRuP@y)sZ#rumZwdE4s`g6_Cqb zaIqw3yJJbvO)QM=VNLm3$G+a9ir**q3vz!ZSL%fR0pvC#w==o@$Q=$YXRmd_ntn*` z@8o{d`5gHBcDV>{WS7^#{j&>P+E}Bm_aS6ga))*G_6cS`bj8;Ar)w9G`giLIZkuj# zJ{?(R_osbO%d%DM>Vc(w9^7k%_&sB894uP(=!v-b6nwuvS7&7k4Mcj#c`fUa2b#mV$_cpkk-RrjkMh4mHWIGH@DTBBzQeF?C@wP8#FQp6& z#gN#ZU#4Im?A+&R=sU8H+#kF5M`a=-}^=Hqqt`h;S8^8j_G>7kU|7tk~eM0lQ_Q77(wNDsZG&ZVn7+W{CGq~6jQF<*lj2#`D z+_)pVHgf9z#}#;jG_y z&nDQay_$wmFW}5LVQW*)mQ2_M?lTjx-@QKJokpD9nIM4{q>1~%Uv6{V#6?=G#YQLX zYC5WTawNJr}x|TxVLR3BGzI--*IS3* z%gAR?!N|^Pc03Dx%;XxgK7zWOr0@T4q+x8-a;#(Ka;$H{3i`eRzb{^q&;{GM0Nk5d zTSL^WuJJ1`H48TW5*WsUS7OMhl^Am7D*V266@EXpDxnL^$5#1tvyW>rV#^FFXwXy5 z5~nr=ch=Mv;M)3>f=?J*y%tm3xfXRaDcb-~xCa%Oz@0SJ0`9t;bKbCHBPR-O+$I^Z zB?lGc$8olF6ZXD8H{mF%*(_T~ew>=!$$1FRj2mx8x65W2=h?u`7;Ez8r+w6Hx(NAI zU%6gtwrtC{@O|r+AHjWhi<}NhTN(4?tzmBF-e+p|CAq(mJE-7h0_(?Ez@Lk#&4=%hTbuhL$_K2mMjKiwKqt*HD z#kh_4VlAYdMZ>D|YMEN0gQXC*ICNjbLTHUoh!z6Pho`td5tXv98ZLw9yH?3kd?#>03!7TgL`DPd8KNAdQo zub>e?5zHdU)Ob9PWXA+O*?1C+O0$$*uxxG7gZ(K&78hi+?8!D$NYvOC-iy6RbcHo; zvYW@SFNjK5t0tp>>b1o*uK?}mv8<1vh$e@5917s?imFYcXMhHi4AVTzG`&eTp!qiOQrR-1a#q^peV)qJ3)4Y7HdyIjnY|=pi52e1GNxT0kV;-tDs7djbw>}egWAiHd4?(AREOpWTJjF znq@2GDUD`_iK=+_rUBAec8=&Xp4_x4P&tvTqp_@cB$n(7LmiD{t%$Id+DqeDU!p3n zB~5!t=X1JP$*>zXElELX@bG))0267*VAH6PEG5Mi3*LAIMn&V3^5A61?E z<7_ZdDdWwiNROic{;sIJnpvbtOdE}asVtT!+ zZIvdoF9n&J9gvJ{VJBHu((JS}m1$s?B!+ytS(%i>dWewi3s1DkWoraYEqtX-9vdU* zRN=c`CYB@U$HJf5Ok?9jn%!qLZEI!?Db2;&87xVm#nKFxP9)d1kgZT;_oSKZ5K##muKQk^#jeUSmaqFANZSSLSHg;Q zo*qT4ouF+%b696VFYD@i%wuVSJ_dS{Sp<28{Vo-=&4QxBns}73z^-zdW5U{d%xA-h zO4TQBIxu#p~1S-Bw3<`X@Zv6yahn!(N0d^x)# zWT8bPTP$Z`Br9d}if%Sq!JZ*PE3kO1VpnC-?r6T)qm;cP=wR~|K<^8xXuclk4w2k~ zr7W}u=7*`M`C6tUTE_;pIOVaHWeJ)Aw2npK<}tR8?P+n|V?BG=OQwnzmw=Y{mWj7~ z(_;hMB1qTr9gj`yj-YNWZ+UECfqmqV=`BC^*v9q~m9ptAA9!qM6-lyeSIb{LcCyU= zGF@!x<++p1ASz`aw5;#Bi!Bu7(WBW%8) z{ZA%G9%E8p$PV)BUc5Hy85Shy383Swm!PMBo@EmSJr8t(EfDkp&~xmdAkUJuQO~n$ zf+B%VvhM_q0y@Ql;u-vvvL}IFU_AvL0(y~66m$dVB{pBs??9*7K|w9%uZ?<{y(wrg z&>8lfpaP(?EHFXNVJFZz)>F`HKwzw@z(hHR^FU>+hoCB;ayCIworP zwp7YK1iH$42vRLt8}%leDJTl)8jI{Jmu38-tx<2W8G=?WIv({ldqvQ>MVF$kGp%T) z`-|R-s$jzfHClWx>IT~?Xwc%nquybaf{GT`i~bLb5OqJYxOMcqtU%EFi+e@?mt7F# zy<}+gdrTwh(0R$E=$kB6(D)^@qHnP+f>thB8GW05F6hN2Tch7+?M00~S@K-;2TV^r zV6k>WtM;BBGNT|vtBycsLAkAV^N(1Opn0wC11%7=x>XO)kJ)lT+gc?8t(S?$iBH&e zqK(YA^(~K2*fpY3*0i~K=vcsDyXnc ziu4oPD`;t(%bq{6qcTw|{mf1hZDei3PkR2$&IyVLf7|mHc3BB|pZ|&#fWIrMPT~9c zLm7Z#!~g5~8+%&`c~AO-eIyf03;)3LPxc*A3Cjffi>(-fQA^m$@N3fF>>$xbc0BxZ z&wtnng?@wQ^)CxL8}6-=_$5Jag@>s;`87dz!n>%{{Jx-{!+WW;TsIVRC}rxl@vuZb zhG-)TYujJt$8!X=Z=0&B!`BMx(sqn0fS(hT-1Z4oeg3tev2Bg2ARaIb)7;1mZOy6> z-c8W7wneH2{0TutZRe{R@x_7`wq2%b!q*e6V=LOORW;*>h3s(KZ7Ll;y9z?>pPzTYNZI)BwB-bmhKB$nk0|GHfp^=O_> zB$sRqAFs$F)MI$QjchERt;jm6$MV%gCG00iWgOpc6Y?>BObOXd{TMH^k&WkXDwL=m z&p(ujecf(|dII+yWo@O$)f0JRnLuV#Kh6g$vf1h<_;^LONUi596xk;AB)(md?NMj& zYl`foI+K5>$j++`+;_A!zw7GBys=D>-);32K3I``tyH}e@prR-wcXpM!h5VA|{yJ-seEkPf)zt0Of+ycU1DGP{* z)y(96L?tXdB2hDoHy4x|(O*-L4BHF0u za^G>*wpR0bJW!zw%{<;xCa6QM=1HEe$ez>`^Grqdl%|BQC&K*JY3B16l#pt^fWNB9 zHft8}k8ETM`Im}pr)D8nKUQ6qMZ7K%rnz6Uh_|tkE#}b*J*QdB`^p66JgZs4rzx_x zHA{K1BD<}5il0zq-)NTcR~6Yq&2s*oBJXGHKdaCX?K*yqXrp#X({$~6 z?ma;+S@XzoK%olhwXh38P^UI-GokFGBqx=trwrHQ>>WOmQ;aQ3HSso&22E==wH&>`sdy+>gv_<;@@1f8x?Mr-s zpdyHOhNml3sy)jeS7?j&JfEu2F6}FPHW9YjA?+o;Tp=|t=O;u+)Ji$OppagBnO_rx zTDijC7lc}Qjen_7k@j_twS#Mb-@M4@wQnd?8hN^!RL3JP*ic#I7421PNYy)$YW}7| zpG3Z;t)>ScyQaugQMOdyjwVOGtE~>115}~Jn-27@LPbEg6q*6_p+Y)H^HctdTt8^D z2ii}$ik6D1ys&v|gat20!dN)l zMhmGXw4Of|8QR%jHl)}7t0C`H&h^jcIsgh0!!ZbBf6%qCo*tsjg!XNyV zvhB-Pb=FGWf?is_tFxC*UHuRv-46ilUxW5{4>p;1or zvuLwdW63uM=?ceqO{7CaCG7j?Vy`eMBo}3{?%ko(tA#XJP*jJlUM;1@d9v*B4oAGg zrPl=&bhzXdDYZ1ovK2rbq&0%}c6iIHv*bSwW$W3|4)1z(k#dMi*h?L5dv%o#3A)_j z6R+-4m+5jU|LKsZ=_ySUbQh?XG*Q%H=*o*-dP`FTWv;y2C04QsDq5-T8Yj&W^wP=} zUHeFNs1C3uzItA_zS2fYvov&N^01J2=^&9j6Nr~CD|DB~E3Nx|bUp7R=_is^aio4y z-Fz%(Da-EI*t@^9oCxmKI=1m1B)uZ&5YS-hT|s9$cJdw~gNU!E@x0zja&W zvqHK?RLp*vYc=4e!*w0G)d6W?w5VmNz(*f>VDm4gY*K? zLUz6Thd!I7cZ948LT(WnD_42-sPx&UQ0pG|e6}mpv&Z*7JETu3UJ0Ajd&g4oKe;E!M8-k>h!?Bk#ZGTIe$i)LsSKK49D4VB_!_^eECghbg1=|0f{)~Q#x?{iXlF}6erOY0To`@GbuM5f$c-F;6=9RxkutB>y~DRqG? z+th1_?~Bs8g)$xNHPZJbNxMj>l{yNlT(`Bw zMJbGO$LmUo?X60C8CY2S?^Nc zx21AH(Y^QkUYFh#l-B#SZ-vtG`ra3PZzz=CyTbQfg%Qn;d#6Zu6uQy-7vF07y7yP!)$~_y$xk7bcZ@$!F{QbY zg~o*WeWj$*BBrC?Hws0@#M+Q7+e-1U)I&jbLX-^Cd?3BM1Zz~n#>R~C`$_U#D$}eO zz2DE0g=isL6*JB6p)`1zEPFO)p5JfMWwp+{sZ)?MOGPe*RQ!ks@Pxs+A4(cI@!hRtjH>3>iBn6NEO?{KUN`( zmtq&Mzap!QiS-|-kSaFKKTRQwH_etc3I+|tq{g5w2L=WkyXY# z?O&vjD)trsMG9fOwRZ8=DYD9#Py9D1q>BB+e~&^K?^(NeClpy_Op`j#E2N6;UFQ{r zFy7mC@vbYf%9zLN+)zjr`(&L@6vB89?Bac=$e@08eo#mi`&u3DX>BEpS5FZ3fHi*g z6gE~P9sbcHbZKV*#>uwjXhav<0)$OH_DmJ6;AcZjAM7wy8E3(R%)phj>sbXKM zo39YYTVfY)sUidWth-DhRcxJr9SUK*=k4O1RAiMgeF9!kNEMqM@PmJ1D}?>;3xxt=j|F^d7w>^0tBg4n@V!FV|9({{Aog;=KX&n8i<_|I%9ytTB!#g5 zc_|bS`)NQuK|+6utTN`yfFOmi|20u4Aoj0-Hg@sC6W;dC?K|Ry*Rsg zeH2+`Ov`%l3Ss{nq)t zg(9nr`KaDI3Ss~IOrd~SR{saPct0w#${20^pB2LXr&3#OA|N)hK5S?u3z78>+e3-) z`p~t0Lxr&awO1%0c6@!LwVprCmVizwl9gK%N-TGkmmF^sQHgd)tQk_-Eo7L=MfD*e!@X%2)z1kTrg=&IvXG664G6rXz9eLr zLz()jkQpG&GWEMesE5XZOO)Zn)D02svbjx@nEe| zJ(x(o_P?pr7VA(=w_uc>*^1Q;0bu#$iVCB^wn60jVv~9d|-w8Q$d5{41w>c4QpiCSdhJ|UZIdF@I7^v zpv<^gfw$BVr5Li5O^aI)_`Z4#(KT8rA-1Tg{9Q%<{Thz+O3ayGmx|^zHA;XZLsBa3{{@j zCBjsW2i{RXAd*wLtJbW;a>}*6s}2-|^}DMMBf@xRfjSV$@v77*L>pOE+{=Mg>MSDJ zmcCG1EkbM*PYT#GuokI3|+!dgM zLZ<2SR^UDLvqDz4&wqhV%Q7hE$AMp~KUL^{-~+W~y<9(>&wsC;LsX(2-RA+&A|hNJ zdEotn)e2N=`qU5lQN5mISobDDKdW!asc@A2qR!liX_l~;`?L&ts2;yXrmKA-f__&Q z3;MWE_n<%2&kEvw6E%OT?+dEiH!kQewQj2%uT9^ipnue_QVyl;la2G^B+c7`_@;Gn z9-6fjuarI9Jg=LlW-rB)+ghc$M6_5N*Y_}2X|Bp?Y6tbbCaE<45wbBLQ)@mDvJ8-^ zHFtz84`dq6eIc6*GL7bESq60<7Npf+DZ!FeKlg1CYWA98^cskEldDIQ}fJ zqZy`zJj?4UWhsoG76i|aNmj*?>S-)WNHwo-4M|UTstKQdD5RPbUl>$P8{*YG$Qn;| zH2y7ZHC+Z-ux1YBu#tTjUlJ6oc~;49Z%~NlJ-ICOw55TjQV{0XK=YkU9P?|S3E3gH zAm-Od(^3%T*GMx#5a!odGgT1oL~pEFON4E9G^nv=k4)MY3C{;L(HxeEbx3##=)Rz? z32NR{ld@CJ4^wHX)Gs#SiJ)p4k#H%fnIbbLGzkjRm?_?3Esj#nHAO`7sMuVyK**j+ z*v(sLmJ8X73HO243t6MsilCO7?Lsyr_C27dWf|1rqo7twe(xvT4+__mldOs(wbdNk zRc#^dG^b?J{*llyxSi&lAiu;)pLUwdf|@1jg4=7}5)_@-8t6SieG(&sBQzfi8j{!v z=nFxQC8kJ`ng@c6iI+ViH4kNia`p(0Qp(AbGJ-o=i7czLLa1qlRCSUr*bqJ+>tYQ_ z&kegOgipk(sbP|ucT;5eM68aeR%1v4tTum1{?S^wl1}gDh3huATlG9{clP(4i)Km(3 zCh1!6V2#Hf27gsvnC37|s!SYH8K%kEOEQi*jMUsBD(7dDZU&Fl1nxswDf>9-i{QsJ zIYh7vFX@Ni@tUOlC|k(>Oj3tDu6bfNQYkZSdA4t+=66b^l>NOWBHp0+L!>ffYf1cM zjR(amWmC7Vjh~_k6|`jQ!T2mqT|v)pjfkJBY4$XxiG8d=NVcX2Q5DDb%++inD(5Yd zn}_6S_7iPnG0EXT#{>;ejt((tP6>J}xqHYo%{f62d&X*}Ysv*>CdY-CHNVNEEllng zV$r~%SXd+N{N#Z^TAAocQ-P)#(MFb;oEB1`Nfop{d2GlG%~m3LG%eKZ7qX-6)`k>n zVh&nsbR}@6W;K!g+m>0H!!mi{D%C8_b3`TDPy6i(nWZ_S#5)jDq`9iliI6!OOcAdS zJmqxAJcYbct_7E9ZYv?*3R$Sp9m0_1yi>|YAxky8iK;lpTdw(%sD!1ad>OJzGwm>j zEMenQehewqup>yYFCEfcuZblpVO}Z!gly6j5|y%rDc+%5HM!h4c(Pps66j`9yr^A&u8D%w5jmh^C%Gu+u`*SRpk(s%fRreV}NC)clyH zheG#(5)@MNXEcKqx({UeKkR)8Se4b*|K9I;&pGd_h^T-};z3XbQ2}v4Q9*D(CI_6- z5)?DbGUwSK%^b*~(4108%1ARaD@`*F-heY`ArCCJ)#L za!b71dBA=bE4dNeMSw%oynf)=PXquJVpZJwp z{VVlMt%CDE`}4JGhR-|pouqK-c~l&-zgb&nlkeK!sa4gWj@GIfKJVE-bLn@){;jGr z9`EbteboLvseI$hf^MSnuw>;T*F{svDhx^+P?d`b^_qQL~<5eAu(Q==U>^Y>=aqFkf?F8** z>eS?v!+Nc<&P^%tsc^Qmu1neF^Led$Hsx)f6SZn@%E|h5>O{)9`d`%6olm)3|4aKM zimvuRf40wJh4KDu->8(tcz>~fOe$aW>381eYrA|Ir^{)H(Z8|RV};SbwKryk(Z97j zSYh-^dn_xAUS;n|N^J|ivp+y;jkv$xEuZh~OIgkAXY)O2e}dKGehqz3*;le^+04iH zul6;h78w`1xA6Vm{sOBT-NQh=&Z?+iJKr<*Ke2kXUk6a1vwF8*yzg228CHMk*Avt= zR+svv_@1*HJ8^6m8Mpgog7RkNmO8}uygiJSPwGfe9a)8>j`6Lw_hr>Kbv&pctU9MY z?0dm}AFI^V>7b^wx+is>??wA!R`;ha0JWCX8ZkX}sqf$HS8LTO-%IwsuTW;Rj$O9* zSIWRO^|F05D_m1A+aG3Cky<3L*dJx}b!s)Jl}eG9AM9(n4v%Snu)oL(&-8z=?{R5) z)n4Y(@~Zt4mzG!Um8{M~ydUjXSjn_%P-2&wo=ww=XZw?^PNu!@d&6GB zN>Be7)Ei1s^qcm#xelY>v>#`M(Qn$nWfha&N2{@4W|f(KSg*0`ud4Bz0Cl(Q-mKRy-5CI&t~;;dNrtrl%mXpF`eta124i@%<3k15yl2q zo*8{KX}rX$WyWD$8fC0HW_<0d8K1C9%a~$l#$Q>D&Vc8vjGtId%%}!s-L1xGZpKMp z-Dt{cW5!uf5lT^JRwIU#ddt;n#IeG+T&+fLmzFjoLn-4h#IqUMtUiHwHsc|emUd%0 zDdp2{%wvTiNhvxzGYsu@H4eBW8-@ofJUcUu7Oe2> z%rv4{;n`U|qbDmoJF905R!XE~HuS4+%vXxWy}q%CTaL{9Sk^a|vzn6G5!BPHmS&cD zx*3~UZOVKX)C;V3L0to5C#!={*TC4zs;FO?r@K+k>eYVlf_k4-MP`v~XnexzQf4)% zzp%o!!^1eq3fB$~qnZ`29gU2utZ?mUWZYtfYe!?l`i7cjxOOx)+*#pL*TnEO755R=Cu88d0opsq->Av%;m$%SdE}OP05h!U~rxZ(|@UxBgy!O^v%q*(ie{OL_>nJ)(R z@8;)cTqG~>rr@T_sm+W_RHv4uK;srEbsQ3C*!NKcitaExNvS%A5lHH^iFe0a7_C%G zqhR1rpB6?tuEV?P!A2)i`Nq0|L;Qk`1g^uQix4A2^@9j^`-K=|Ngbm1r$dc#q^jh1 z18p+Yn5bHcTLUNhg&KLaYKC8!aex$@6%5LQC&fSFx~7931NBX<+9X;V7iv|3UmK%_ zmH(g}qOIY!UrkT{LAyb9CACU4AGFr5oza(7;-JlbQN~D8I3;W{+Q?P?K+W)qHdd0t zr^a9OYi~S5>M3LNpq-$eQ!R~$2EE}IYrI4%-HjVvz8S7b10M*BMp4B8!DaI~Vvq7aA2Utx9m2SLG3f|mj5<-Mnl~| z!=2P3;{m7}WO%cB4C)3M%~@?8yvUMegtB^N@Hs8Zh+>6D#)FN{r1A|sG9GLssydiT zZT*KB18Y?`{}IMYQftKSAtU@p8zpaJE~~_$A!Gc<7=C3+{ki8v|FK3etHz0Q{Kpyb zq|{n`pRthp-Q4tW+I>cpYDrfQ#v94CE&pbWHwKYXPln%bWV6C6Soa$bDn(Ct-*3!e zg;%g1FqW{wC%h*ZYgpkGtO-U5D}1K=LE{xxcm?Z0;{YqXg7u(rlodYV{h;v;D}2Ix zl5v?8KH)vh(8~q7QDu?9z*Qv{(78sqVkuo9u!A(V^lgfj#xPRwZs*Vw{ws|=tX>;hVLoYGV)YKFr;O}F*l&%v3aZff zoRxLh*Z!-GsKctR-LMMtX(Np4R*9s|^E<9JbgF~ri9oG0W-3KX*818hpE(TPU#V52 zKy5JII)*+^!~0p)a-(sW71ljtoFJvfeN%0}iNj9%*Qt5K&iQYyty?es0WTSD zAE+_HJa-xou);iFF_y5xJYO{qvBErGGeSO8{V>lrjD@T)&%MS+tT4}g#^=A;l2S|Z31a{&T#~;q2D!BSvUceS8u45}or)c? zJplh_1b^>ZV@JFe@Kvo!gqGhJBiJYQ`_`Dr3j0+WYireO0pA&yNWu4eMjQ+{Welr8 zpQj~y`K!_9GgNB+oi+-%rFZecfYY_{#*BcwvbAa=s57-H57b$wYOriXAMKpcfqcFz zvEMl(ffe>UZ!BYl{i=;ZrA+L1!FZaK%H@Kw`B!QyxBPKLk-T8+Aa$A|Trl>q!Uz`) z{c|;b7~yY51Ena!CBuW1ig3yB`IT~zS|gf_tZa74IIH?mgddEXtT4h=qrr)~2tOLl zm7)mOj25I+glk3wx5O!N&4^`%UVbumvcf#C8#k3AFFzZ%NhvQs8@4Yn9v&<92>jV- zLJE%+dx7#Nwa6GWGA;0i5lkxI$Q}8Cal?q@x@jW^2HrGcNi8szj~oW78`o_e*~YuZ z=*4xfjf?@6!Rp}1QGvINA*?Mm7WWFxOe`o)GwpF_Y^& z@171SpX>10RG3S+4v$TR`6So1yt_qHX|CtG*t?e+(kxMRu>R!-YNpqhI3*Sd+=pAu z7Oax)ej?CnMw40~hTQ#Bpv_Dqbx7bnOvB7lE$P~}VU8q~Z{X3dVUFcGJi;~22e}T9 za7}Z%s)OjC1=cgykUDMRQKg%?iCf}PrJK2x>+sG<1M_9B!#g7l%spI(=Q-|X8Q0-? zj=On;>+n3Mp?QK7&iAhZ8=BW@Rdrw!)A%!uyHRz|Fh^62ywZRc=zDx?gruD2N z#4IPJzNQso9wD^=zWNodhnOc+KNts_Y-v`jI#91VTAGpHV1(1=_)$srP_sX)1(0W$ zIhE8RWBjQ7jtFx;*I_QL%}d`>KZsuLXl=SxqEgXYo1UcdMZu^Kq0Yf|J4aQ33S$+N zZIh8^6sz^w-#8-82Uz*$Ty(TCr?4u_`Nq-CoTHT4aC9Fn%A8N?v|K+r)D~r~;+D^k zUS~v`>sVccy7p!Xx4bp5UQn$0sZwU#m|>2NW+khhq|T7S$f^jU_cfnkwVl*fQu*Tb z+@U^w&7G`{fJ!ktpT-FJq9QjtsGm9Wj8c`kV&4!B8`w>u_r`)O?1fAbd6P+2=Bc zn$NM?OX?n)67clRvlZr06FuTyyVuxdLBncQ=Gba^SFIX3_Nkx|wd(${HhE92nlpBD zP@O6m`$AB5ZQZ7^G2S_~s&wqjL8EKcdt(m<-Rq)03L0-Nr*WVyO3(x5ZXP4dY@&IF z6=pWc^sL6LPfN^fvN?)W|pwR%x0JstT3~grsoCa1v8sv9%F@>%`-hN zs=D{aeiW2vYE+jm61F(fA2s_@-5LQ${y_`Op{(F|DQJ=D(+c~kz2OowLMie5)WYB; zW{1$ax}|0}rNrQAy+W3nW<*`xGP99V!fpD&kY#31j!{Z9nAIeFg?X%lGoDSZG%J)6 zU(Sk;SZVg_TvxZs9H^8Coby%0DsxDjvrY?o(wv}_acRyjuR?PwtNL>{hZUN0NvS*w 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 ibOHi#%)x&On9 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 ACjbBd literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/.signature.p7s b/packages/MSTest.TestAdapter.1.3.2/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..fc2a454cc14de617dc31af6aa163c9bfd712011c GIT binary patch literal 9355 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 Yh{#;Ec6d2?AR3h~QwH%EmuzPH7g-ZJV*mgE literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/MSTest.TestAdapter.1.3.2.nupkg b/packages/MSTest.TestAdapter.1.3.2/MSTest.TestAdapter.1.3.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..5a48e2394f9987b5b3e426f962a7387fc55b8921 GIT binary patch literal 781518 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

(nTZ8^^Y^ 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≫%u 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 buifArE3Ww@|3;Ie*l(`{mXLh%Irjems)A7- literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..d4ff1085b7c4fa000c33ccd7984c6003d02b928c GIT binary patch literal 31376 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..129769c5771130e01140001d6f730425fe0004dc GIT binary patch literal 24720 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 b{U>=oXE-PoVy>;;cxms0x~#rDE9n0L_U$?( literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..0e0fd7980de09859e83de34667f7fbafd9c0228a GIT binary patch literal 27280 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⅑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 E17Wk{qW}N^ literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..19076fc43c97ca62b18447313768c2135e0ed631 GIT binary patch literal 31376 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 L7i9&lzlHrjr(~#w literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e85e233618ec28fbf8d22623c1fb72a74e5d715 GIT binary patch literal 24720 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 UKDj|ja^lL1JfY@P=9=dJ0id=owg3PC literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..78955406b82c8161f900f6c963433139837889f7 GIT binary patch literal 27304 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a7643d339cd2ec7f56ea98ca723ee50b138b42d GIT binary patch literal 25232 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 De`!pk literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..36d90a8d671a7cd135ca2fd4d3c2394e472bd30c GIT binary patch literal 28816 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 M^AxoY-3HkI0lC>yaR2}S literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..df3543876fcf4971dd9a01ed47fa8c660d273ca4 GIT binary patch literal 24720 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

T;dLk&nCc_v3jr={$SSKePyPnq=Kwky2+c7B&-` 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

iWaAVQ+Q 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 HB<%kI!84g0 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..c87c27a13486b9db8f1218c85dcaa595bdb282f5 GIT binary patch literal 24720 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 WqW2kv3|cTG?8#{A*89G1p#KM}hAYGX literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..30625ccf621f69763946fe431410e842fca74f56 GIT binary patch literal 27280 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

)i5xZH@nRz@eYU&A^BBaV<)b=}kxwK;L>b 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..901070f7014898a1b388659dd8daf1c4a99729b8 GIT binary patch literal 30864 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 QD4sbprOLa#Y&Z6Q03U3F0{{R3 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..1271fbb66e8951979e00f8b65fbe3772ddfee709 GIT binary patch literal 24720 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..117976944711932bac8181d9a3a5614f01bfa822 GIT binary patch literal 27280 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 MKHVG#O&a!p0Dyjq0{{R3 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..11b66e7048ca4416f61340fe7d0486cd1aee7e57 GIT binary patch literal 34960 zcmeHQ2V7H2vp)$Pq$moCAOTcBA)JJ+qV%FP0YNDuB_dJ{q1qq_A{J0lu_2&{T@X-| zreehw?AH!<#a_X}n>`_g;w|6z-FM%6zZY*#PT8HEot^p5?3`V$i*GI_f?=2_d^Dpy=or7A2TLVa7*O z!lNm+Zl08=m{0~)R#tj=7io7p409%lV1|p8{CKTBz{nahBpEIflH9xdro%4Z!XubfHHFUt&66#Xao?Ycy_;4>BIdZLpV7>4tS!1Y87%N-BD zsTkG|e*W@@f?-{(6ICVQ+EIuImBmP6!F45S1D+8A2fl?r6yS==jAMqtO@g->a3T(0 zYxoL%ETJ})$%u@Bf&{Or@DR}wZV)ald)0(KBDul`6(wV0*wJYimJf1}BJN@shk{{m z%`nUzep9>d{oapP?KkIDWbue$Dy1*Ce`

?6W#isd2?kxmK60(r=$`l-#s%P*z~5J1Wc}k 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 UXA}?rWO?p~&E18IZx6u!3nUIr`2YX_ literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..333851d043019b132d972b75bcfda420998f47ae GIT binary patch literal 26256 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..fc9348530e1847bd364228f9ca04040db547daa3 GIT binary patch literal 30864 zcmeIb2V4_N*FV0Y7b$|GA|(_B1j2?63ep7?M5iF(IiRCYL3PPQE&G!2|Y!UB8K5mA}1`p>j&Rt z_)LKhhN%+Q5<1< z&Xa*X6Abf*@3i)^Kl*wgcl-V2<&Ax(|J?jKd8j>Af2XC^`J11nZH>Ch=Z+EFzIKv5 zdX4GAfB;+L@BJcZrHhjmuj3Aegob6kqebj3-6oN0Rg~qzfY`S)Ej27^E_SD;2 z5-_<4KCHlGzJS4|1TgsAcwQuf-*FYdpwSsTGcubW$>p(_5oY8N29M9=a-6IwIQnNs zc8_NX;&}`w4kKQ`qp{4${_znkX5=VFau7F`!EuVPv!mHW+SpPZtgIQhy@Nsb&f+-& zCYvGZJ&++l^Wp*@boje^p#QdPy|b|28kM|*^%i-IoQJDIN)^}eLpQHAkH1<{Q*e2m zwZgky+_5Tq+I9`y#|Y!?xA{z}S`qN7s@d^IO<3`|x@pVrpUMu3Xxvl(`m$|g;59O7 z(p~x%`d!T-BbqKdjC|A_8U3==^>VBET>cNq8GC~S+LuXDdG>o#hBsITw!F?N3DL;T0GwmSqB9-9$VYv~#M#-Bdk z{G&-2H##ls3V9I!_PV2ql!= z#X}<&HU{Hio=__e%9AnZ472ar&=)H5+Z&C5$_yYRfHMyZ0&Wn|FyfAjP!aP$jS*!! z^nm*EfeMI01~4yxCdtIL2h`yK>l`e)eF%|IJAojS3}+1U`cDv|VrPMrtp~v}4SGU- zqFy*y0G#;*r@s@T4a^YP1FA(pwP;|S2V^4Q-i;VF2d;RSpRf{|1o07sLKPnLA{-$T zDmi+>Z9FkMh>ie;%fm*)nFgW~iNzDjc*GMg;>;#$&VlA;o>&re7zrcAy4;>L+3rO)?)F2Mn?>p(dkgKvG3|G!vTs!fek?JqgxD>VFWLd5nhk z(ZGKss1+I!npiYWBp`mf0tP}qaqthx8}&!Wx=zjqAT&4-9wUuJB!1s;6WHfSkWYD>fr&f*o}3p^l>u7I72^u&0n#?GC1|cM zYL2W0p#lRQBcnru5E?igs^L9X^Cjr=fvIS?5?AX~Xw+ZSNNC7NBjceDI^hCXiXQ%| zSWGMh=!tYxoaR2DsU^~Mk>-meg62gTAk{AzblJ5BVY(BukKhJPC*oWH@WXANPCgb4 zPmn!Fw$EV{G5k3|(*AcOk*YI+j5slbX~+T-f!KR!>@8}H`lmr5ACMH8(7(zF6V?*T z?!^9#hel`?(Y+Z$?O)aH_k4L1oQDzvL&g{g!;Xf*qj_pqMObxW{#rL8j+xLLVM_`K zLtKJ?-q{D}j3VAy&(aj1iZ`%=di`rnMgU(zj7EHRA}a+J)ge8T3Iur|Fo_id`!uND zp+N}4>9Ax*5zCs8Ix@OY;O30%&IKZdzzHomqSaZro``eOo!n<2*D-xvdFxznx-Lkoz`3#Q z&H-{QScKSqugk{ZEA=44-!~QM=Nf2;|52YkS#&?}ym}a0XK$U2MExW~lfi%1k5I$! zLRG^*sw$#ss?wvp5D;@%krJ(02;MrK(pf;H13Jb1 zAO@HKf@=oAb$2uT2F;>6`%WT8h@4O~_U_fYdnQ7=LQ5?VM2=bt?Yn#1h2S@Ph`JJA z(t<#+$l8(T+ugRh6Y8UeVa6gtB5e>iM{!ULfyy0nL6s4!Xk9{Z_;LdHT&xdD|rD2pm|MM{wm(y8L9eZ)l5b0eW|+S#N6nsgv_&rL)= zk1yyCAN)nM?4q4q_x`^Eu@03L5fiC__=4*S@}&QPC-UcuuwGv=O%rt`t_|Xv)=L9i zO_9V!!|BfcaHysus@Calh>R5Nbm&lpfG02T@p`tD?pA@=LY|k1y+zMNiP&ZCe_IxF() z%cG!-PUDax>Z+6Ls$+@D9aW>dbYey}nogZ*gsKYasyQsiv9$swkI7;)p_5oHJ)Q%R zOrz;IQ~|;qf;NXvi)E4pz$uHtW0E7{S-=YLK_UAw=nM|ikv!dUCWXZKPjvL>-Sh+I z$i@)KVv+-C0vLIHIT?mzLK@&r6VS-6$@S&2h(U7wt`rs{nHkA+Bxy|$@-}IL2NQx} z2@GEHqzOQ05^713gDV&VT-gdoj)ux4gD80*B{qYc0^~Sk+Of6u&<7)y#o#bF z(*(>YLIskMN-%k30gcV4fmpig#n2JI za7jz1@qh<3uWkfqY(_FLH;&D66$p6DhlEYtb?8#!V85}`J(_N%s=%~Kj zk&JYo&kzWhoM=9o&gCc5i0;kEUR;P{(nrHkB9na~oK8lp0sjJCJOc&+HWCX#caSBB zk5F6)zxO~$Xg&#iHl5jpyiga&A(mt}TK!tOa1w!jWPLg4JekR2km;h?VKY)Fq!`30 z(tQq@4=q?U4oEhZmdv4nra?mvIflWDp>d+YIKY@Vz;Rs}GFC!8paK{#qRa=0Gg(Y> z9E&E1;_}#Znpj87WG;{7f|UFBwuy|q-42l%#&fzDq9amaWe+4saxym-R2rX28i06r z=Wzj9bdqP7=l<3pK-fp6Xs?{CaeaoEoYigNQs@sClqcy*c)IE3>kU? z&X7eC7Q<#B3v!EZp96t7JQ20ob=B?I3F;qFw~tjedq& zj^ffmL)lCK5n#Vv5XK-G3W(W+906*B<{suX1!&RZDP#hFgmUD!gCaRlK#PnG;?W|( zcBWg+Bnf`omm3fSy#V0q)>qxW6b6e-kLSg+p{sb%s(2pi5adQsr4Xjn30Qp4cT|H1 zDgr~LkZ6HIEdLJ-XncJ+F)u=RWdjZh2j(H_;@=qu=^m+F!0kdns}Yl(LRb&L8DUZs zvM*?*fXo*F(#4tq+Hx51=0XUvWP05`4juGG2wn*OkT?Y(H)8oTBgX(nqvE)ZrIyxZ zZ3VsJAc!F|&_ar^2Hv0`60o??_{p3|b6O&eDImv!DbZko1OfBWcM6%ufO+AV3zFjy zfCwQ!h{peAJ^uK24-qt<(1&)TC#(mSdH^L@aEJw=>(E7>!rwh`X98|m3>qgs?th@; zB>xUn0-F(?Ui1s?(4Wszf$d(dt^ptFFLTH+l2s@Nn;b8~ah^13pz zxc$L8D%5`=Fd#PoRs}96o($DVBZGrnajK0Yc?43*cGV-+U@qgLVW001jO4Q zXca0)hk*#~iZGaVlOZfjWI;&1_%s$+R4h1)2uIsJQwq6m8IQw&btjH^iP(iVu|6rJ z5=k^N-0qi=0oH@B0y7J)5L#i8Y=l@S4g+*9%xZkc$R;4l00=Q$`XnR)4pRW00mvX3 zmT_=uX<(H?FH0ac1%EO|vmR|Zfy<X=5zQLXv44YOKVmZM+c`$W{ypYK zBYHSstB@}+$F4Kg33+H2)dhgNz!dBUkF6#76GIiLO5HLJY+pdRI>3ymh1@mN33$Z_ zpTyy<3-A%jMk%fqpu{7P$E(`ap0k>NWP4aUtAC{%QNrV%yiV_63Rt)QI&=gq*?vMm`A%UgWaY zRfC64EYiZBy1KgYgm;bV3vs?bdX4$Aw>==d}wf$fqFON%#_NWxzUwJKq1S36Lz&ydj#RodTgBLU0n_DhrJT zMHeU}&z^+x8ydoZ66j@jl^OJF*P_iGF;(r}D~0r|Ly3f{CGH1`T6EnG!lbaFU(SEs zwvdV>f?*=I!M1;E)JhY^7_8+MVPrC=&ueD7ogk__^MV4qGk?dp+3z*M*f!3+Un zgDpdNmO~-=8Y7oZe5@QIt_&W$8L{+sY*HW$Encl1zD0v4V$vpVfg{~W7-Rv#0dH)v z1eEM(1^XxmR3Z&;dmt+W9vjTUu-Wka3S9?6fD@vSs74&*$H0qv%pf=rOM+{ZT5B*O z*vA9DbI?7i@5bUrz&$!3^M)h~uRP?T9Q!)R3WJve=n~NoeT%NqJ^Emn0!jESgAKye zA?4MLIENGGB;ve?IPWLU7m4$0IHN<@5{*$F8;0pZz8g9ZAkKQk*@QS#iL(Q7b|uaf zOc6VdQGm`}I1ePw21JP|_6SO>u#a#aN|d`piBuZoKSPh`K)o7bV@UZVNP+1%NEp0G zCqBX&ON7h~gRpHpi{Xrka!;|2#L*}gtedc2Vj>qkhzT3C4yeZ{kpeE{g|z$c5GIf0 zF^L7Xvx?}UJC_|t<0N-~;Ln5ZBL&?b_;66%72-x*4vp2G4conzJ2x(w$Bd5YfdGW^ z=nOWE7u&s+7pP-5lD^DH9+%IJ5>P^z{CFBGP!LaNatYM+Z;t{~gz;3Oto>CG478}ow3w07CvwNGd=V773S|?%xT8t_NPn? z8DM=cw@>w4e8Q62S&wR4_b6R*cm1-`X2Jm}GKr*|RtzeINu^;}0Z@JNm@Yy_Ou=T4X#a!fXq} zO#ACqC&47H`Qvx9Cht_KU*2L&2#ShU#~y5Bcb3GT9R1K`<_CmmfL{kF)5S+aiOJj0`_QYUNkXoRlZ4l5w5cPk@Uy=Zc5LW+gss6$h1Mi_6k@bepxG5NR8Sr0p zT$Z$k%Mi#z3x~5OnSQDIU;4$(9TvSt|Fd(Oo z4*Z~+C>aMG!!RW=dLcwPAE=>BAaqbMYgl)1_*g=YJPsdp2j&FFHjpie7`>1l%J^e} zd__s(C?NsyhLUBukhLR#wjof4@+eVFB!PI~2=zwk;MTugW=NtuNN1q@G8WOOx{ifH zj1TqGnP*D@+9)9z9p0E4@G45^Wf2mIgM1<+xoAk15I`LyrLJXUY%>@!8ODyrjKE?K zF=muNgxaCmLn9H*2fAZ}43Yf*H;oi` zws-a?C6cT}afUM=intOa5>*kGmytGAmXy$x#_-WH3Z^n7DN=@=1WBsc86SrC6Dv`{ z_+G_a6Ja3mQlC8I7897t8id&|I$oVr3NjUNO1 zQ~{SmRmGK2p{%-W0E5ova_CeYTnm*bsQ2yIFOb1=jN|f%{SH+R*G11I)%$loM{jb> zAxD87NA`Dj#dZ2AQEhPt+>UBzV{c;}2DkQNw|IKR-@=&^u825ORG0D{;~zjZ!UqX& zbvW+KI7qD_djxutJp=t5-KcJM=3cgTUgln&?v~U+xPfp)T0M>^kikn}Ml$dWlD@cv zNz#~P21x}Jf}|jk0sHWES3*~RIhZ@Jp@LR4Y3Y&cD}HFEU%SnBaa>F7_sK}kx9KFW zxir}G3+`Y2YbLo4qiLI`BEh7#Po$4XPVzyL@l?7epWc^lk9%#>zqq%yWYHMU5zEY ze66Q#pqKmP#QfMNPPm%)!^Q!U=NGT0F46crdg5UDgR@g6o%t;3s;y)AK2^hZkLTif z%Aq?SZrXRvo}B(@*Ddyxlem^??Vc?K1r9?VjqspoJHDxzf9T=TMLv>lygOIMrLx*~ zpS!cbRQZxNcHQpKXDa@2W@+&5m$3~JpwXn#43a!ZL>kuyk!mYTX-M_axnY`Y5>~2w zy3~IE;QEI*<)lur2p!Tkkm`?Xr1ded{(K|AD^B6H%eRDY6{frDY${anAkDn z`xK8T_RMyV5eVWOEi58=EDF10I~>VnTg1gOQK<#|o*He}`4%11i1dD`De~5Y8bDjB^{xkb(`v5G|Y1M9_x&~_v>%Y52`)yvDxmy zoDT;-8P3RIElf1@bI|NlG@LCvZ0#z13_jOL(7HYR%G6VO)bfoF%`Z>!p1Jx1Dey8d0J8o=0VfUzr`Fh)wAK?(H>xPR&@I9wPh`4_3-$$tx27~pzBqu1=v7Jxa3 z?guiXAr~XM1IX-fdny%n-&CrN5Xd@j@$}5Ug|}aTtR0ahe}l+>3QU_!eqL5R*%qv@ zrU;V^$h*Dk(3h>B$Nro+Kj^5@+0mxUUfxRAI-PBrd@6ocWpw7??3$|b0;B<_D`b${&)M@uu*n%NM*d_NNP1P*Hi+-lyUG z99au$)4poI((`NfM@$ciiysqxNV>6fM=iGa=s^Dx+E7)DRGxj_%gNk4)~>&6?t?E` zs~0jfoh0dv$L{*aO=?lh+MHMJ`7E(5bG3XG@7|LTxupk8Gu3jb-=B`-Y1e$oG!Ow3 z4J0+GCqtDKL#xk^W-ZW)oPlj=Qq;13=SAr3>cX0`7a?LC^M)s0ADz6Z*E032NlK%3=9(i z6kwnq4k#$P2Ml!nYZ&+&+Jaw9mjFEOsMuNAO4k(!`^P%woDAFiarcWMMP-j=tUX9? z`QNr%{CNHOO4?K#E$b8Nz4lI~597zqZ{c2I)}9@zvhs^GZYFg zrQW|B>NHd*Wnvy_c;fKMe525>W%$#}yq)u!rs@Bfd++N#^QQ2YyNUFso4aH%`K@00 zr5}E#XPYfCjX&Po_}b&S544Q7E}y@m{($!E~ic?=q)||0Fci^P-L9=i5gAT_|r0OUA|70P!kepGYZRES}QofsCtg)BvPSge>)%t&~t zPj-!mq$VCykW9E`IBsu6wX}pk#9#?%X4!sgiEjT%p#3x7YBz8E!~r<{koJlxWU^aP zLLkd|;8kwp>31(;e=gThz1QR@$kg0#QEd6D?e0-GKZ7eg?3PWaLhh*@WS`dNm~FnJ z7Hp_V9yM*{2-%xI1~sjY&pEe+?~!^f{nq=M7Tfg=6FqP5-0pPGIA*zK*#;gzYQR za4)L=0VDNCF8Dc~iK?;w2|GWhVoRs|GbQ#iSrh$2GK_~vTkaoqZA|3Ti{=sUJe{6y zlfyoGm8`iiVgBI2XDM4ows@Vh8)m;|PvXQ4{njiv-8(O2*pY4W;gXj`5H=YgEDTpc z$e>OlwMj|ilJF%4Up*oTa*MT9q@-Zykd3R!$hU7y`jVui3But2c9cmVm+i*|s^6u- zbC=#PoHBG1mAi3R^>uT6Ku4uM5>mb3hm`2o_P2`;hwz zflJ3fT95k+vCIbt_$+oWcFi9C*RiZa-+7?gk)YWGiUo;K3sB4(_rg6y_kd#de+|Wi zZ&Z-MAbSC--SJC;gpGG_P95yE^Cj1%+;Z>Km&z8LO+KGqhR44iJ=FY~`*y{jr=Ocs zOAQ)l_!p+>P1@#UG5X-TO(Clu##L4B`JBAhhxf_(g=^}m`@Q-xPj6U7Hvg*VUmtSD z{Nc!p)p1WZDXo*-5OS|_?x@g~rEaU5yscm71Tmngg#!H|n=d)IPIrevQ%YT0VuOuF_?;!%J`2rjw_AH?y;1F}iA}m=GePfc;R*RSS<3Uru$9&QoMxDK zui{;J&pLJFRa|N4;?S7|3yKGNONMvrXZfx{=HFM_=x5PW7sioic(k#l>%z z+bh4<6$#1L6|CjiT4_|>2g*Tr9+!N3JVJFly|B$+gEHfgv|h@CrLIQIx+Qr_8x~w& zskcLE;;QC#JF;UkdrdX3N{Gd@mu+v+nEp{C)9^sfxv85*P%T#6emKqP8a69p#D%jt z4VC@BD)SZ`DRtT@;WD+2xpLV9)lI55!P z+#23NTiRIR4hX-g#4Ws*hTDH`zyD|Gy|#o^-gL`*@sJs@lmYi^9y~l&G}gd>``J7F z{R~y!TqwIRdb)J@mRsy&g%LeVdw}k8|d{ACIs8I_v84if4MuXMMh?{$6f>AUj}>XZ~7mY~+Zj z-bN--o0dPiB$GaJ-Iv*Ay+`zs&saPAb#T&8(h6;VxhzZ-_jO+z!6l+YyhYAcn0|Fm*9>8$>!ptdj4bw|mHBJ|!0=w0?l=-uN^xC?r#c7QOT zH{dyjrxzk@HIPcr$I}<2_2~(IOCs0P{&x2wLp6E3M#;$H4ckZa$F<6;QyBj>sQ;Jt z?jUQ`<#X#MN_yDddA?_R;;pmEV|_{G6v4C!>|W|y&(==QtE603TQ{E_Q5h<6+K;U6 zUvwwMw^b#z%sc;TDCy0E+B^m6lMB2bGza#*GiK}JM^6__y^?n1 zNkNN@MV93AMMDhroF>wN^pF$tyi#Pieei(KjYFvf6#nUfY*^OgEo~@26U~O|4efeYZp)LJW zB23<{TWMk~lc*Wd;H1OW&1hCUVODj{z2fngS2OoMT)#7m0hgN1BF$&sOKGi9=B!RYvQ=-1{(3TO+YTO@lEm^yN zHjOzW zdc3}comZW;i8SBep@k^anM=I2+F}&VXPq4(9gH1ty5_Z@0KfXY{!^eI0Vw+N0F+ zlGI*ev1cg=@OH+g6{*U&_|v|~85A{?qJlH{efDhWOSKmcY7V(ad2!c3PH{%VGu%y# z1mrH@mc@P2)VjY&EYVEs|2t<)eEo!As#FFE^X@%o>YLg|NwarzrF5jclaj`Tzh9HO z>|Lc)fP71o;ZDYagM*L1O5A7pEy8KxtO^rK0W~~Kn{GY5O3~a(iMuplhCz!iXRBgW z$P`Tai20&R?~U&?Ml;`NC~d&X(+^(#cFD(X{HFayivu)5@3@4ew~X2=Z*1=Qc2CKg z)Cheq$J`UM_Oh+2j7IXOYRFLE8HUgvQ-@R?9UG80yG{3}UG$Bz?Yk;72jpIho1^r( z_MwZX>XTb5`e*I(TZt~09_Mtu_=|ko!?vVbbUDf+r;B~!o{WCXRnsWGYZR?>m zMs8)%$-YK6M$U{7G`^^eoVf<0hV@=nUzF>dyEbL@>iSb98G{Gm84`w_Gay6Fkmw6V zy$PLL_>ZmeJ-=`e)3`}^|4yzYsfrypvLw*A4vmtgst|7jY;ha#VyIL+ted_C?jJ(# zwfO1Y+KcB7strG*wy$Wdhq$glBo*n3J}Y^|f$<6M_z*1*i$=dEb-jY+hmWpwyLo=8 zvp&s+A0n}QoN4k`52>13TfGoZa8d6XSGP8#f1RY+HY;p}6*3s(;blRkNN~939^5^07GTYRV~_ zVM>sK>A`IEb5E;V9Afrn=T|jNHPON|48C+4p%jUlVelNv9(TwZy__<* z3Pl$|cc>~zgj2G;NeoFT2{1Q&VrOG`L4^WAzkNYPget_^N|7VnW^xZ7AG=)TXJ*m9 zjXRCbx!u-KbCj&hcsOU%EzZKp#TiQQ!b*k&j`Q=*NH13ZJoj@-y8m;?d4i)}d{z~K zrCEPVG}Ra%3?34^u+r^}lKdL!Md?*kB0$m}?zO}%+uvIe;a=hv7yK>!{k!4aoVk^T zb+UOY(vtgrA3WtdFURa_Yw7ZwWnTMBPlxAPI9gG37A1Y1u~|2Rv^V9nX0_xgub0P) zK7EtYZpl(;)8~}5L^~Zb>i^hS_k&b{Yvikk2m8){t-iwMu6+R=LgY}DL~w->#hsoN5l}?ub}^ z=-BM?{2f=c9(}u-&zRr!qMv6Vl(>bJE^d zy;4_vDe|tj)bL&D`1{!Wu%oR`%xhR<@SrbbA|W6wT7o#yTppOL)YaLx1cq zeJNv0KRY}9z3fe=;w6^;{$*E>@1nSIeByl_-tqYz7FJL+SF2He>G>5}9{A=B8Yd2pnDD{WdfwW+advfnT08Ymsh+u>p}N_o zd58YVJj0FY^O}sb9z|*AI#b$0C4G-@GK(!=?y0cw51AxW-go{kgIVd}C?>vLk48FSy&?|4z;*{?CeFMV&2 z=7@!b8`y_AM#n!J>7IN|-mF;u?yTa9f(KJqGc!wUud&HLv#zw&RW7%c|LN4{NMWDN zhqD{sW*pfXZ0O#9uXk2b_W3UtR}UX>qfhSB1#4prb7F>WK9S}(_^F)U=*S=(9C?v#hGcaLpII#*s5o0rL&!`t#=!?(3}G_N{*r#G;j6VY>Mx7HNa zpPYZ1JL3LfO2O;$kGpX8tEoPlo-a!{StD2fbLfX1d^?%lA?F5MuKG}LYK~S*+Emh* zeFM|^6_+OH4|g2bzbWTUbiGfR#qB}!oF<=tW$m#@yLwTtgbe4m_1Dcyq$C!4e|dXH z;+*65NG+Pm#GYi?uiHzC=o#d5)r`Wwl;s|scKQSU*~MeQ1!Jw*s^b&-deYT zLt>wY`ERL|vDcLHIhb14OXrSV>~Xd0ip};%i)414bhtw5Lv_29tCUQiGpk^VA#3Lv zpH--74pQuEJygr0ew* z$@r}??@zPeJ5DUoX!SaH&z`=GL$^uVSRAQhe#vFY=ZAM?m99)o-r!^MRH?RDJ+ZdH z>Fu|NreUhOz9GizQh4{&9QXT7zW(~P`=ZPn(|1qL9(cpKeEy_oxnpK)wvuSjKKO+!(z6*<=fI(-1|D3cvVDNT?9;6WC9@ZN z3U59iaA8NF6Wb9`C7P(;=^-V{eaYh2F|s@XFT*FWb7X>D7d_JHOxA74_iA^7QGi zuf87j)W@Vu-FRc!%;>Zyb0d<%cU#Q97P@NUp+sZjcdyxX#(8FWE_P#%+|TmJt(PBt z?D7V83&GM)oX<(*ac1h1rYv3IJjQDF&0RVD?ym7`UAC**tC&@I@!r*(`5oaVc+XCH zj(3k3b*5(YxETFGoWDybs@q!#louq*>EM|=N>KCN5A>1tyZ@r>1oeVJt~DNpD(FhV zN`#Lo_AMTj?eo{)0)Y8~-9n%q-e+|zcHy{HxTPhr*i9BKZm`$|;QqLu=pGh3x8H3+ zg{dQ=mF^Gd3-I){hlokhmW3w@QH6kFtS zuj3+xHG6y<6pkw#J-&U%_L4K6CYEhc*dCcTk`N|E$Jri|oj$d52Zf#16{#Wm% zx?8`EFi88b=JTQ0{iBvYcp0Ch`RavTQF8xLZC5J{V&b3d{Q7;~OU1Mo%%MBK#hXZZ&J3>zi8nNO8}mZK)0C z#%%kW0$T%{npFEv+`hf|NtWiP_j|YOU7Z@b+dkFjqSK6}a!Mm(W?d8%j(2#%%osr5 zW%H?aU-PjQoYK4)ZP`M7p8&F}hvd;6k#|gvmleG@wN`c2YDQjDQYwd&YxByk*fe3o ze4l)cmL7khJ7CKj;uJpe@E?-HD&LjUKqw~UNI|k+Wp!Ymah*j zHtapna_+~&XU@wHE)G+8aBjo7z-xDvomwZ2U&>p$=-7PY=8EJ+PKgRft7`AYy=l1m z=;fC)V;4_dI=|(soNpz?@QVAT+b`b>rsh;M z?3r@Afw4VY{&DZAeXNf>3YAgwdQx07JIv6{{bO~jS#VLhw z#IE9Fx&!l8HAk?6R$E@$T)#5#`2pV0L;cq595-?GaZ`W2s_V-dZQm}~$iK0@$~~^H zD4;VCB-KwWx8?gL*?=2wO@0=-59>QoFnNC}|K83nv6U;4juYon^WVEqpW!v|m{m+z z7CZRgO``*~gbZSoMu#+#h^|lxhx0#>M)w=qzlK%*?DZrOYk}0_#Xr(M#n&+Mo%@}+ z(l_(iLWxB~xB1PS@;1*wW=Z}-l`Wo5xx*!Xyy8~+=gYHZU$oOJDnF8)p#4bc_`p71~AJqxbc^7Ub z?{K^`Cs5{D-qi1@*B+H-d-hdY6rt~!Kl0)A7?MwexpHh0tG7gJo^S6d{7sU2O3NRr z@Zzg}JX5ZG`JL>#df}2E$E^6y4kDAX+IwUw&Id0s=)c-1<<(J(6_eDiJyI8OtF z8!w7A$fpk>KuzLTQ2SpKYY-wF{0TD%B~qm7iNOdhwC^jgv0W)H%k-HNRx1RW;GRdmS;-HjGx|Y3j}0 zIf|a^A5lK(N20D%b7=gwnz?SiE@LmKtden#PW=#dSaO-itheV!{op)aajJY%OUe)h zYV%D$nMM0@q$q*@=KD=e6K#-;4x{k#wwEZ7=2$6 zQau5rdhmxk?H-}&KeE%l@-gIe-m`TRBVsN%735F2c6LSo`hOSnI(EYCpl54tY4x81 zz2DG=9d2xQ_@9&g zg)O#!mn}B>xi9)L^q+3AWuN4XReEszUg7ZcX_8K>OH1^)6)!h7exTN#lYX%I=hsm7 z0KDSpv8aZrO&^{%C)J$Tv}Vx5FV(MOgF@v@$7Xn_eLE01zp-_S+T4Uj7Z=x+w% zoA_mNKbu0skWqrSZmK7D9!fo)+F~~|Y`9iSQS!(|0oYD^m3|*AlG7PCHt&snbmHvC zQz;mC6z*ZDKkVFV$qmc$#+y{{`yq8dZms1=qaVRLEq?BMywIvDB7DWIP?zWL&K5=G z&u^O=k$UIYNX12iA2_@kFmhVt>gjsyx>cp?hJ8()xom2F(nj{h`>Vcaf49G0(0Y7> z!m{l3HET3?NV#QJ?oC^%Z%^Jk=rR4(r`AKWBF7I>NufA|CajybMP{x_uEs%HS?|*; zt}BmNk#_9-nX>b5XJ$6vA39CGX_BB&UygQjm%k3T=G}d)=_yrq{SwDdj1fuCK5z2g z`sprj7A=;WxHkP2B zs6IDNn(|hu*x%;nTX`d`D;2YBbmR`+w7qpHJnya`$49LsLoyj6uQaqvO@CPOU%WwB zHwgZkjMz^RCHrF4v%jsLpmy_wZPw77s5PY;{jW4?6{jD?(+{mrug234{4JY{aG!eoT88T2?@jhMb4FZ$629l-kq>y(o;pEU+4c<% z?3{s7B zWUPzmcR4?CwcbSa7>C~D-ff&dAcr=1jp?fI?-XK2D(x8|t$k47YvuhQi?(d*9=_fb z9Th%l<%!RqHYS~#49PJc!1&$~#<%33b(VzDtsb`1;?b=Pk|nO$5%7S-ETt|X4gA+| zRh-Y7cvggwUGa3z=A~v+i(c!-P1oHR`D|c77FSJy-5*bXAVxr<7d8DNo_-EbZ^YBf zrTX+_zK}19r>Cu-^}kVAkZiV|WURE@%F0;1rfFcWeDl~5b~dZTH6QjmDEUX0xn^-_ z)(z``X%7rf7WUgdpmdsG-f6{R^Jl?2eQI6VE~d{Vv*(%3`_5`9Hn5V^yOlb|oXvl4 zl73vBp|id%z3|4~>1$k5j3!AQAe|o_-O|*%#PVTT+_LYHF|ps3o($VJIU_S_WbTOp z*Vh)R%%LCKSkPz9`rJXvN4$f-UdY!ipR)MnvvIPXZ|?NzeZFjG>ZX#bNBuo2LamP2 z$C*U(z9#Hb2ybvP;vO)4kdapOBd_uH+yMc(gSbik%@^|CJkHv$8?0-qG(X6^uISV9 z&D#BHO;pJ+*r|aogRyi!>Plycta#(4D^YHrt#^y<5G7DFF J4?T=w{}0UZDa!x= literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..63a83933ae4f9e939990a293ecbc312ed795433e GIT binary patch literal 24208 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 F{XZtILTUg2 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b691bb4b127d761657a1ee3b5dec095884c0be3 GIT binary patch literal 27280 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..b513384c6eea3c7410b2a70073985a8af74986dd GIT binary patch literal 29840 zcmeIb30#cb+cMidID>l|rR;O4_GMi>*Z|qEJzZk|b0jq}49j z_ccV*LRqp){I7FQGY#Q+zQ6Z<{?GgVKEIo}=RW5?=Q`K9&b6KET!Zbx42&1UFh2Nv z|BhkR@Qtn+#Qo2=ICw24Un7Q930+dCCfQt4a9SJ?K@Ovb`qRCF$v$2oA)ySiH;qh> z3?T=Ekj>{fl7mBiX&R!U!V?ET+go6m4T%@iS|jbs9_O!7w$b8OEwzIUByo z@bQEXhDi|5JS@CX1;U@W3g8a)F~dnPuNg_GDf&D3Jy1kda47>^NA%!{VK@f}lyxyI z!x+BfFl;z{{l^!XgF4Z57?iEJfM_si(F`cBR)rh9BjyTtb6;e@N`oFj_kl_RH&1vF zfR6@zxULznTpDy*P$)DcaE*hP2$nW{xULx(X3AA09z79V;X=6aVEkB$C59CM9fXKl z47*AOo|uGT_V67yQ1_=VmxF#{MP~8dqq0AYm?wMiqtxV_;U8jDbLpz5OWNJrotE6Y z^W|CVn%F+I>}KZPk;6`}Jvhd!=K6`cBNx>j9L&`o*lF2_Ow1m;Nd6f$aw2*AL*Ex; zrycTGW*?_;#b_?xc;?x`;Vu2uQMo27?=>hox`s#H>=*D_WmgsPMWgk4JZ}}?db#;k z0|}7a2%jLwm9B5v?G`bo&IKn5C9u(lMMs}vrBLYH0jI=dy z^hb?s78%5dq|=N-Xps!MSCAUnKGHiVz-Kls#wj$A7GmVBr{|^PqoYeP(9)*i`UZ+a z2a6101O(IAqdU?VXkBK&2VM3i=IHOImIjxyaOL?}idDIM`#P_M|D1tYI7aBYhN4Qt6x~K^Hlhj*5+g?#)-%hU8mJcY zUfTOEQ2(H^Fw{S8;Vtr{h=)5*M$NyJyew{X)`}OvZ|{H{I`G*63)c!XGJ(1tQ4I3~ ze&3B~1`HVjA43t41z`+(3ExYh4KKXA2=!^a81^2%%|Kr?zNa}vO7hA|BQ{@D>Q zClibTf4ndsY%vy$(Etzw6cY{Z=2!q0frVi~@HPgsgFAYUE^RX`6biv`55YVzGk6sO ze?p;?DKxReBB4_dHV30)7SJjT>SHh%4AcLyqb)Ry80a(;8q)v}1MYOp39vyx7ZRmV zLZg_Y&IqzEjDW_nh6V^h8X(VrE-}QjIkcez>LHl_z!ZF-^-=;5ng)hh{&xVPU?l)b z*PKAv3r0d?qESLH2e?NNnEsB4ys$!Kb7J3TuW+(8$mNijl*vK!8THXMoMbFe)PaQs^H9uY56kctYc%C8xp1kw6zMi!)Ih2~VNW zP4~~;TnMxRp)nms9_(5(v@4505wd8JBe3~^U=YUQWV8&3s)&z-K}dc=_Sao42-Ml^ zKNGr{+dzMRz~2Yh3e5;DESe`GP{aTOI>I<%@CVTwjpvK~xHt&_XtE=`MjVMi{Jx_o z$mc9J(M_OX1T+tZnFPW39x%5bYgn?$%@&q`T>!L3L(#C=0M79D;4F!zG~n7$F02qA zAZ}w|tD*Y@c6TH#NGs6bH4-{B36_B8LNol=&1?y{5rC9GJaM!2G3X@2?!*#g#F3FO zhA(y*UQ*dFe`c%zEEeFgd6XMwH*}L_b2^*z*%U$RVh$?LZXWQm$uEd$Myx(kH)uH# z<_u6jp##eqfz5+ANS=KL*3gfb{%!!N|2vR~)dK(wH!!5rkOW2nuwLkF#qNy8_kzj@ z(4hB!Cp{@0{bf*vY?yy&~8X;|IBW`$IFVq+=ZAJ5=KXuwm(cBtrLqCFTya3 z|K2ccj02!M(k-z-3~mbk^`!zMWmm(glqUC?qWhUUo($NUdLCsnNpr-s9 zlq1jsDU(1hW&a+Ub2td;a9=Q)euPYqQ51L}3uM0O-n= zByJ+=Kt~Si4R%DdXDMBz)7c$=l>MQLy8?jC8j1x1hLjUBIc)39vM1b_3$LO;@m<0LGMC=e`)ZIoWOVh!4bB>1!l9`&&^F>4OwoXFLXu@)8G)N0Mv}3*!&I@ z+h!s4Ht3W}fji7mo!ov94MYH`YZ|EQp<x^rj`yQ zM?G2cJ+!Z&I5;Ehp}0+&6A%_jJMw&o%GOXobO5Bx2E^tDZgJ#RiY3sPLl@K-p^EGh zQb%S3Ychy5+qJw6-8ekX4f}VFMg%4RK@ul6T7$xXwjDHrlx+Y0*QAXAl^OC&3Mc|# zj*ueuX0eagfMOWB0!Up|KqoRA8`OzSTL*&1ES=KA4Vm5GM@`B0K?Yge9riyQ()_v; z%QqeDvI)9yH1)5$uzem|;GYQa7m?XTJGr6bUjbkomSqEDvjMlkH3541{=pOZYa{#t zhT?DF~wDbAkGQ1m}Sv+?X^gYE`fNYPG*EIFW_EWyY7wWJJ{3WOH& zyjXr}1%M!l+d4YYA{ZvVUSSLx-I+>KV5TRuXB}v(UeBz_Y^$yz+s(7FA-AVw!*fSz z&9k@!k_@W}voWcwu$H;2q^)K{SKbly#-$^(5=!J{)D^Gl(tZFW%@5o)&rU})5w663Q4r{Kq8FYd2~l-^lL8B0&OBgR?WrXIvhzq%`xb&g)<8vg-}Z1A@_ zTLjU9X(5asyQYvj%XTw2t~DgHNKAI7lDpy(x{}s2bM^omvM4}i0GCG47>s}r{|It> z_L{a@AZR@EKr-1f6he-^HZ*@PpBP(+e3MzYAW|{tku);G9D?INbq0Y})6T{WSYFn$lk^5SoM2rJ zlamp5K~vO+&CVivH&+` zT>`VZ8i2wyiJtJ-URH!yp}MTSY$pplw5)`T!&{Oi%=14-kXex2UXU`NX$TZ`5WW6m z!-LwO+A>{VV5(#=7N%|Z#F zTUbI$FeA&hu{e=*nuGvpQ4GmIXkrTO2Mdwl!{4kFAo~xC!K~cg9#;Zu@WTobt^**! z#XW<16EPX#r4TH>ox|nGauAFTV|2!)vDliWV43NAJ1c5ol(vR-z{iHL@ISHyn{f3+Ia9+R_+{Lw()J z9jV7)w(SLLI?E3r5QObu0pd)FTY8Y(EDa6tMdl7nJ7=og0*%P=S3=yes|IGynKl6u z;iX{~tM+~AxOzFQi zh;>K+Bfu*tAQrqJf}egEXCWGgsyk#HFg|}d4T2l~Fb8)6HmC?#7VbIxZPMJq98G!Z)B>26S3m^;(W5V5t!#NdpT) znnBEjz1Raduq`L@^}#_K=-;(-^#DT=nvlJJu_qus3b)a5Mes3#j7~RrNB5)k;3_LZwSow(@;p-ejJ=7 zb1Ye4i5<8k9VNsLB!=Zl4d@UsS%mR}32c~(Al^K^Z?TPY`j^@frGuMFwmW(#o8uxZaB(J&;I4Gto|@2rzc7M z@4JIYgJ=wR*eQ9;+8VY+LIBIRgL3Ck02Y|FmmJ4l-~k;9Y{=S*AYiGaUt>w=vjN?< zZ4bw%{4>!^y&`CwB|^5Uy{e%ja|g$^x78*wlj1wet68)IBZGV}w&f?Ou_neM9@oUW zYPWWl?_#Y3b4~rgmUiXO3`O`rFeet*poJiuTb3V-{G09D;O&3HW#m7w87wuiF=Fk= zSd$=li%?6fo!!v2m^v^;VmHn;#UDHn4n|SM-)Z`+zx!X9(FI_b)Y4^ z_Fr+Vf9+fR>zf7DUvnv27Fn`nNM;G4(ocK@1VSq_bT!gQtm?rn4dLN%d>isSYcjLq zSZ8G+ixE2G5<7D?vNROgb)Gd^iyvLOw%VfhyvAQTd-=tnOc2D5nnso?;bvg8a7M}y zyJAfRToi6i!d~SXG!L}wtX4?Eh~NP9Rxx#)WlF*z#Q-ii8NrsKBrGj(zzt9hKSZJ7 zv>IM3u7sR9_stVugh@gwo+)wnAnwt`eIs!{ zO5Cp#_a3;Ti`5g&Q3#uc$wM9vx{o353dCK7xKoI`0dY4W?i!c~b{3NUB(XBE5nf8IisLp@jCb5AtFlY&2LAE23^7L=8EZ>?A|qpdjqO z3IvN?tZwBM67hcuh@EsenDVGG0C5meNQ5I3Trp1b9`Dic3uXnw0y}a=F1TXDj>ft< zkI{aTI;w6h?z*{QWn06$D$yHeCZF?kT#xaQNhGnj0$?qSFAl>p0fqpG6e>G7nouxc zHpJNMrS0@$!DruFn1?-RW!kc$Wqx+T?5+e{gC??!8+NPqgG-*OgS@ z$q=DW`y7|G>U3+AMEY65s5vT~RIyFZ`McXX6^<9b>U`ttW;1;AiG4ZB?%ry9X=-v` zZW}S&L)DpYRxYX#Kb>tfS$6G6Gnx!J`1odR+lALRk0xOw2iD0flujF1C(tJ(404@E zkg(wtq-Ur)xQ+%+!7$XG!$#zjrDQS{f(bA$%zieyv#t>IOdcrw^u^An9jx|%keUVUTfATi*V^N@GI`kqd_W#x4v#^S!rp+F*% zBBKm$0PmxR9Tk6Z>2RE>@zY$`v-)u^8pQn2ID>h1 z8UPz5B%;d-8wt3w6Z(P(iiANv0iv8g9F{Vm4WiPIb!4m*goF%pM{`EPSVhbkB@m!~ zX!X!c*z18x!9YVq|NlvIM?AyItMCQ-pj3mwRr>q9GK1iiAL0DWF@NHhY2ba3hUArz zfhQ0*4szWf48(Vc>;K>Ne9?~ssC5b?*C2dFDO9##)*dq!xM}X1%##~TP1%K zB?hd-9K=ZcfI<|35$`-c0ZE>Djuc6Jga8zVNea7oMJ$H>AR{z{ zB7uvcNPBwS6AX_-v8Je0}n5k>wW+v)Xb5je-BwUd-BiUch$dN{08sJ026G#)dDNN$W zcoRtCzz`&1o&?zMRx2u+sOiP#`^}27FfXITJ9*|k9JwX>NVZe3=)(w-&x&}F`Iv3% z#Qy2U9(}SgYDtNY@zoyPpBtk_?Z+P1k_;|6%sEi}(y;7f)hMm-0=opSJ!w{Vo5RkW z>&QOqcJFohQ8mi$zRCQ)Fb0pYNHq!#q<(O7x8Q4Tt{SLj9AyGnX6nO1G5Wp1i`TU|+WL;j5YW zvLowV>wGRP52b&erw|p_%9k6mL2loPn`;g(_G~VE)bZkhqNm-J7qdsyh;Nb%TQBZs z^2sRW@?F2P3a64R9Ct8f=T-0kN0W*YNJ2mneq0VnDksJ#%{MCBfA6|n`5gSqiU=9T zsYUqawr3c@Lvo6IGPrcyC`Ij0_Z%$4gnMT6E$us`df=4KA#vOZ^_Sw_=xZp5$o*14Knd{b~Rj{SS~CxFo`N65nuKm<^J57&p6sKmxmvu#oeg zT->|$DdTn@*e0&L+gIK-DdumC+q#P{z*kQcGM;wNv_gzu65+VEEGfW!)U z(cQ0wEo_7rj&NN4?d0~H1xv0uC|`TMrF7J0^@he7?G-JWBR{o#GM5bR-?>)b?S#0- z`gI%Z8*X|CB)YVGo1PmYDRm?0v(ma5;#CFXraA~NKJ8oTv9EhU;n$`2Oio2CP_0T@ zcl!js0n}IzsIgmvYK#=KT*JlAp|$xoI9wPh<|nG*G5?6NP{b8jLO+(nEuiKg^T;v4 zKLnH`N0I5_`VHBn;x3gxA1Gp z*>NXMb=r)!n_zU*)!A*;orUk!Yif53H3}?$x%JzO&v~L)EwStP-picBBIo!w@?R_}Z@@O49A{tXHB|y5RVH6mc{}61_`M==mwi4$dmff9 z>6mF&(jax(NNHE6vqQ?21v!P-YTdl62G^&EYPRz|ZIsMTNi3bKCu5TO^m9`F2HIF7 zUf+vn9@&Sv_lhKyrdL{YMtx7r7pkQ{X?Gr$bxbvJWGdxr$9%e6{pUnQwqo)EO1b|^ zPt%hGV|y<~V6$%Y2J7#=6puR~;U2*Us%Y0t+=BAc`e@@+#7g{Y?M^0+e^RGx1R4mz*^bYQZ@f209{nSqr-@p<6->RJ?aU}2olfeYCR3Ur_y z4qA|11|4Yp_jKTIU^9LaT|(i7&JJ9eEP7XDvVEXoO4Gv94+o!5$tht9Xq%H>Mf8t6Fcm z7)>1?>y}QM9yNVYgp$jb61?Lky<*+t@Cp5EpL}_u{@A1UQIzlF`v(Ltp?#JaMeo1G zC#!8%jXXO-`3`gKQ(2{bThek*KNTEvqt|zIrE1IDVX@KnNdi<^1N)*&>%txlyR|IT zW_oUCWN_OBNf%j_1^ONh7W;PRHh)&xeo6nzu_pc+wZ7An8W)Q`7GGvMHtSq^{ldTu zk-1;)9PLOyct}e*g4bfw2nk3-Iw`(8wl{ zkc>hPV8jq^8IJ2~QK(e-AvP7L7iA+Zf!pQ7+e$Og7C~>KJ4^ z?sn+K3vZqWe%m4~@#L`~BXR6e%>ruo_eUp9?G$g(u?IRX!l}*WWb1dY7w@;7y}r0U zW_EbqOu_s8lOE?srd-(@VZQ24{DZgky}G;3yIDM}C^LGZym-sll45#<^PAC`ZT&i# z^n%+ zJ0CyJ3twF7>zA4Yxy5qge0;ETNXADB2n}pZq)2@H1Yq!gIdwe9W$V92vAZ#OZC2}6 zMTp}VKm-BriOa2k!`;Tt|)7(!y`$2Vq}$q%|rY=4613}>Y+%t?}8r?d(?W-Vyj zh1;`qnKcgTv%svtBzgMZ*JT`jrvq#I0A~|g%!#eFK#N)7mbf{)3|dV8?`bjC$psP^ zBrgDUsQ%(1VG9h5S53C8co90Il6rW_3o*@*J=PyzctrNtOjW;QRwnZ8LYF$FNb%xw z`>k;b?)!~2ZEAMzao+YUthT!9Q_Nv&`bXpECaaoThmQ`pP`r(-{zb(8wDTqPXS1%? zg>~!^-N{?*{G@vAY?t0F(`|3wzIypASzdcuwR7%kN5!NmyAotKKg|@B>wRkXDXp-% zQ?huYUDLSh>GZ5A;lX)hKgqs!yzPH+!gn{hOFPr*l@7-EIGgXBd+Bpm(R}BYJRS>k zO^YAgQ+Ua^D--T9A^H2EfaB#hrG;O@t+7^jN zzVAXWTi(1ex+~^1U)7C1wa4;nx9=D3lT?~f*7muzbd_bTpyy1Q=M1|8rrmZuhnB|N z71kCCmW`vxKNWLoVHWl=XG)a$ZvAdAt+Bk3Um^BsmWfipsmiQgyU& z1EjwxL=ldEq4@9Z_y0}PpFTU2Ggr~R>~f2Y-9+)1*GjJ0 zlreDfh!=vloU){>Gsl^3D&OjcPri=@b}p;$P8AgYD8{$-b?Qa=3tAJ`3AUdDpT1~Lur5VoOuqz z+j!ObmSkk$A#2_)!1KSXyuIa6r^1$%pRP;39d^_)*rCcIV}}(sYo^}_B^AFtTiR|2 z#LwFKd3DK%nWKafcC7B17yXTtD`!6}36sDrdyYO*w5&a??zE#~e6$HA>SEsGsfn8l zy?74GiB^97n0JtLdBSX`@1OZkog|B}wf8>I-X(w1-oM-l|De4kI7%3_H|TQ=kKc-P zt0G@~1|GjYZq%>TZ=ugFuYcUVNRWsrlP;W9P+VpcG5?*Qqz3JOjn@BLdv~C<#Fn+E z+<47(Te_;sq8?n1nQKd`)L?|W1`n6qce!C%dbP&Qkvr3Zy{lb#F4&PJ?Q>dUXFPSO zt(c!H+bTy&-d`KtyY6cDRMN|*4e7%CP3x_mzIK#qnX_+GTgUn(x8hE;XZ8wcCh>M{ zoHB7jSl@@QZP7Uzq8|mHhSkZ~83MF?p?w$F1WN80dYS6)NkLNa}DW3PM z&zD;>(wE0by<$Onb(;e7@PTHZs%R(vng7J@pI1SzO;Vwkwgnk6c{J8U~y zwRG?1#&W+WY3B7JeLGt`G*w5QbJVKZhBvL8@odS22c;ToYuxAbFO1sC6V+>?87SL# zpsao5`va+}xhWq%2fdlCbp5u6Z)m1+((Os(Xy+sZzMJsY*6hxS=@@nHvH_pHXzP>l zdhc)8+{t&DRCJ^1R@#Cc;rZj%Y_nb~Ay(A5Wq%ldl*~wBCD$=0r^UXIE!AIeO^0_F z<3jGM6Sogc-q=2OFE++q?yYOf&1-juuM#0WygxE_%e`5T`W7{$om?)tV~qIx%Dh=K z7rg4(^oW1;?u&Pt)TS3nS(u(4*=xL9Y(=A1VZ!9ecmmJF!4(joB=AT<)d+&;HvDTg z{?`W%TpZ_)%M4=8OA+A|1WCYe9FF3rh!dv)y0{K_F%;ys{LF8cKi}SWW`$I2U~Z4k zyr2ih<1HTV<>nQLq#|BnTvrR^U0FGc6tBMY%Z9bB%X@CQIX!Axvw& z?yAy}ckj2x+4k1y?M(fz1> z`Q@zPf)a}_&fjsP?@RxQc}tgHh@L$y()!iLo@uoct)7t27OQ$%q>T8Gx4)l388bX; z3$9X{nC*Eu{}pab{yMAanjbUz*>3Pj6~7D$As>m7p!gi>+BvjFhf|7opy~$j4n-W1 z&@iAG=dQs>FLt^s^;2xTeHY{u!F8H@RYd@$mH$XIRT-ZQ z9ugc_$qz)eV6_Yy^%@sHs5Uk&f3tgW7SN-#Y)E=KC> zWY4ek6tyq!ingR=TOKXC;E}3nsHHJ}WAvBhrSb`+!?72}*6}u5zBrTfv5!x#H%a*W zgpk5sf1@)>GE8Op_k5WqKHbl1q|$mMb9El+hdG5#?Jlzr!mUpe{;6%yYw%$UWot=)4I(`GkSZUVHuF#uvAvzpejL=9ywte@wpIdrRY))s-3Lw<}a{ zIQ8k=zZAZyef;GsHH1j!;g0xRb{Rq>>{#;e z2VkFf{b2|Ocn<7H6b~eSah*SdIP)fe%Pb%*|G?#>eUsvxopYn_^nB{SRDbLEo6qB% zdmNhrX7b-UeWCm5*BsX@j}iLH$N4QJpXA1*)cNguQ2T;sp5jp>#b}e@@=tHDg_${P zWiJY4UCos>$4iT)&(+LyeXpv$Zb$ljy;F9w6%(2zF5OL#DAjpgKA|an;_mo$kCkNG z{Nz%NHNLy>+MWnWETF!qI;3gu>@H9#mDVKZb2MW3v)i$g#iwLjlu#3mvyEM>qZCuW zRZ5&&%N!;(_l)X7imSnr>^-|u0<)Dv-<&RgUT-n_qPJcAVW+V(H*75qJ|3cU_LGu) zQxCaRr1H&Wk=)FuOY#E}3w7@VlfNb1`hKc}Z&qfsZejw(H#eDPJniGA}Xn#mlt zN{UXt`uTeP^fC8FrFN{}v3O$2;;E(Q;_N1O3{$Z2>EE_l%2w;Jv*(;UvySO+_^#1X z>9NZ!@O<=@%G$v6#Gp0wz0ZsLcC?JWZSd9ie6aB_=JLeKvbv(0WmmGDcg4=XFmk5% zb%j@7r=6yVeAG1dE!GS5w4Z*|JY!CQ$hwA=^FN&PU*q*)`_|J7G0tU?h0~P{%tdr zz%w)vfd?fb@IWF0$lSiyU+5CD8fAAw_9jT!YS;80nXj$oc zIyHQJi(cT_k#|L2>z~XKIM8Hpi!_R2dLvad#&^xiOwWly72B=1buC_W{c)b-L1DF1 z757S2%VUKq?qn}$_8iOK<+rqx>M(hvX2-r^_E!#>A9cTbT7x%o-{Q9yg5Mgt6-vLe zta+mEyFbKNCwg~*kGT4c8Jj;ndn71&%PpqZTBSp@p+GXKA=Btp-!s*P67sgr$~$A} zPevLZwO(|$r^jq#;=N@DmnDz8XIz=)-kCaQ_1NA*%>`{4Q`O70=ASug{Ed3!5U)|? z!HP}#E3fCrslB&z-l(86>6Af;?<&WdZQ^BP6jxt(SHqjU{-ek1s}7B6nQQ8fD=;Q` z$S5DVsHChvX{*63-7Cv0H$`2O@sfQT9(TL$sQB7)!0+jaE%D2GZuiXYuvRINRNh^(!auHk zt#`D?LCw{7T(-G2Mky=5=?OlioUWEWLvPNB)+F=P(?T|9ZWfzqGO|8~e2ON|SCe%2 z%*r*MqqX|}ft1mYw%fhSK2T>_5VZCBliMk2oNyDIvy-~;p%J6O)Qn#mqd&y?e+Wel zIfX!ZLF}9ky1F3`CBy94D1N)v=OyPT*A!E=@r9^?JRevhd`^LF!R%z~zkdn<;tO&M zfqFR4;ut#*T+4$>C5+u7ws8Yv=YZSecI+}3JJa87L0PFIY)khC_zXOL2ST3A7rzCM z&&1<5a^i3rypRTfPiGIuLz33|({RXm`-b{NK(HJs{IJ6f$>FmM;3oHCg|*70P2q`Mc+9c}T)g#(Q_NV68+RH0 z6Y@l|N3{BE$}!DeaXn^u#tE8-hMMuGQ}k=WiQgKgcM3O8ZJb$J^fusuPvZog;w|p9 z)fp?+S=!ILJABjf>tkojzMW>e&f)5T{=jF(f*LA$?MCB@ZyuJ5$~1V|<$K=TC^}a0 zt>lW`8H~jB?=DQ{v7B;ptwimvQvTt2J&V6A*2pTDGJQ(md}|+hp@5KuTeI5|-yKhX zYpMF^>(s0DI``IMZG?v~`o_uqc%l`hOxYQ0pv$DW&MJ; zTZ)BdTS?@^$zR1(&Q#_VPq&B~uXFbL&Ye4AV<&vE%97vLH&Ze0{q|3dfk$U=dHNzU zdTjS|y_^`C+23y;Qd}I_Uh(DYx)&mG&jY4be8qeCY&JZ892xAh(db&fv)!D=IF|{9 z(Icn|v9C;oE2sDExwy;yL}5yvOSrS0mBn$>^La~Mh2yLO`(t*Ts1FWaa^4|AQZ&~7 z5+yj#HiN2ujZ)jQlcs3$oE%d?dZ6SwS`On8aOE>| zyS+n360D0pJ`kURlo?$u{e`$73=qdddRGvCY*+k|e?5U!&zx$ZuBE3>RX4>g_5Nl8 zYe9n8Rfx%iLk8XgwmU8qKZS6|d494U|8v}Nd?0N_4|dxWEnOXygap{>)_R>hTOO|BW8;PL)?S z+iW^g@gyW^Qxkp5E9g!j#wd?F2R+Ng1Zo87+IDE9cU* z4o&l#l6Mb%>vxe(kcBo!U;0{i{JgpQBI#`;{y7tD+0mJHpw!bpI-|FI4BggJGTxdk zTW&e-jMn0XNx}2}lyvgVd=?(R36D?z!4HkcjW}*3Nt*IoKh%DK0W(n>-6|=UZeb?LWR&nFLqyiPieTq z|Frbm7nk5M_@R?${LU|V{J!ILbp5$K+b2EyT-OumOeLBs8dsfN)vLE+;dI&FoS0b~9k2?0@zL)!W8!J| zN)HFNoxA*@ITj0@jhj!LFzreYZ*g||0+qTW{d}!qJE*gi`sY<>emlb4pjGSbk^8`9 zM%SCmIer;w-t>(CM3Ka_ump?S0w#7dDPT}=4^PUAfayfDB5q`Y?V!LghXrud_ zuKe+1^fl|Q%;(p5C0bywbN`i)lI*QRD|N;XtGTcH;D$%~BSwn#NH93};UM57*FnHe zn+6=vHshoEhG_sh{B;*uZ#@r29a->0E$tyY5Kq88fR* zv=?|Ay^$;_7a}QN8#UiY-r&GuUB0^u?%TRP*%&_ZtH~kJ%O~iCQj!4bZ^j`@;GqsGivo++htAR5*a5N43o!*bas`=S8FSld8K7* z^cmY|n$pgSjITT}|72iZ$CY(_=Qf+RxF+&y```VjHS)K&jDO z8I>Wm_fDL=FMVKn*-6J$9al$78r8Y{5Yhjo-TE&kZ-b`+zgt1c+brt>F@4H^mv#9K z?4N`Af0YzNMEKzcEjl?a!CD`z^0%8jyjbe_(ru=d(+J_@V=mK6g12sHULLS}Np|98 zgM;>+dJ#5<>A=4)83|uAHx^=s!r~IyFpRJPP%to z?^PXPv-{KDmX6)H_Owp)J&8R&0!6;7_BSfO+#@R$onG+qWcZo8)tfHw-9k685nt?U zZr7a5RKIYLr&8Ide@r8G+v>(+(W;)|6EiGE)n&yP@^YAncq3|7;7_ZxMN=utl1q zyTVsrr(Wp3vuM`TPj*MwbiFT#KZ(aT?uxI&DKf3H>N8*1pBinkx|8Pc!e^xWpCy?9XfYRXM#~z))-0=xA z;)B~isy;<)A*VtY(&kYG9tBPoD}M&|nsDx}3ErRZ004--!!rrv;ZfMb1BuzNZ-nP@ zKCA{O=eD2*x?J6PC~!Q@Nx&gCuLZ*RFw~7#`k7}T`&qD%{1eK=k1NLQ?ZprG+Lcw} z+rztEwS10Hd)gC3_l})!v3OM0gU8xd-M#u_e3tTQmTdUwk|cNQvaV4@^*5JMn&-1e zEp?FU^M3wzny`*xq&GS(fL^N%F@;rbb!E zZAk0hIpWC&TH)MjqN3wR#mu8E}Infl@4Qe z6{kM^c)aLA_~C{T_I)#T(pPzRFdv>3kCil-8_OT}#bttlM;O9)=)sNMc__G>);DHi~q;gtC6c>EPS{vsY<$v5g(;tL6*czoQhmH!io z1=(g(Crxiow0iVm^nL&CMz>%ghHyy@H|K-dLD@fK#z7h0;Wwr|E7^3udDL)=n~pcd zTs1QfO<%BF?Cg@Fr`Mlq3w8IrUzNmQJP0beTsUr?d>08TX{_>CF2tiRcdYgDJ?#3z& zj@NnW`}$QXb4p@+j(IF~dN?`g=$N;jWA2phelY!29-l(0M{ej8xu_l6&9|y3A3SP% r(z`|M#rpRm?v8V#UnKU(G#{SmX^(63*RNCePmJZmFHgtT$YTE=;$C&d literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ab628765f5a667abdf2fb41c0c0422312b93e399 GIT binary patch literal 23696 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 AYybcN literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..623ebc4ebb2a2b175518bd19ff51f53a6af03b5b GIT binary patch literal 26768 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 s%gE$F^Jmvj5$6tXDidk7clFa~)cjZBXW zB?pC)EgfCRAz^+r4KXnh<$lsmRv0#u#EWUIk@n=Y_5kBi5G9FX*c5mo#D2QP4!+6o z@rDnENfOsQY`)P0#6NKq!5N+}=OsbEOcPO2^mp*P{}w%h!wKjj(ugiTKm_h}F>JjF ze8*wfF!=hH5Ap!(L{%ZUx8Wk9!JtJm;C}mLIKexjufR9=K?bfg=n-^Zcu4T(4Hp9N z(SQ%vVG6^gL8k?WK|zAoICzO@X~T!>FvT!)u3O?Vj_5p_Hy(^1+iQ(sMIZ;^{(=|D z7HXPm&qYMJ+bNWWG2b z`&cQbCblMIm7L-q;?#13de3)r6qaj0&fTGQ($1}W%Z?25Z!KlxUuGZAnz^jwRh7W= z$)g0ax(iE_W<{hnABn$JP0rf9EHghb{?j{}$)Ou!W774um^f85uD=buoNIK0plorXL`vgxRJ4G%G4)V35#khtoriB_W)YJ3P@zv3#7-(tJaD4-%p^Zg` zGJ-;AoYq}v3^XpL@Ii-@nI-zWYxli%qqj(8G#t~+pd~*pa4Qkr65+mct9s=1;^xe& z+q6Yq?+u$JQTuJL(E*wVy-w!?sd2OOv&L73x0*eQwjEuP^YC<%>%z0O$DUu+^>w*H zCe6R^x6ALo%%thDSzHwrz7br3Vp z#>AOLGbERsWJ;4hZ5%slUFNu0qs;NE6HOExVw+X&ANiyfX6~rr8)8oJU-FQ;^Ra}E zIFD=O2@!X<9a%c(T+*_*(OD~=g1)^4ap=HjD-7I2kdYZYdoG4y{-EzW zkjy|KL*Zj63br7EVK3l23d-=pyR+~-jTgh-!M6qAMGL%_g1XE2F)RYEec)XiT+2ZD zX+VFEIMjpsbKv_5&>sgzvkBf6L7iB5{|(AE3u2fFd=~>vZD`{HltssG_=G^Yu69VT@%nP%CSE2AH z3@VvJ5eF<1Dg|SX7#*{MQsMAC27|^h{qHNMLu)Rrw2Kn&7=c?ML8A+9Z<3>{bx#RB@f;0vXr2tueE7-s$7AVk4RfRwH! z!LkpugxW-{gksKcjvzSwl@LEbRk9@%TL{GhfOR^M@r8SHqSv8tMaRTo7@-gv1nwTV zLlHW(!tS9g6f(4e+el(`5FG||myXSZvk!=hBNi)oMkn4_6Xy`3q#;zFVueLRgT6q5 z0aV#z>IzTL(0BoXAc8cKJ@f}EP?6xHpnfpC^240q3bl)doCY5kf?YH$Zp70_xC(`8 zy1%dHPO!BY3e%zG!K&3mtFrYIF^dK{0-FO224ieZM#F%liuCB^P-cH#)rw%9qyCe? zwk&5t{Q%(K7t{*%2n{UiClXLZzXG~IJK^vL$s4ujhkZXdzCdWA3%o`eiAemq;sYo; zgCle^C>R07L!c+Y(7qS+?fWM~)xsLM3xd+9DH^5>=5F|Fa@Isq8fa}87gtCRkhU=} zH>j@2sgA4#p#lwFBcnr|U>kTa6vKaB%$}ed0ZawJ6}MWig-T;MmDq-iG%^y}@WYDW zC6)8?N5u-lVu2n#ZS0s_D2LTywVhGca1ug|*C!w+pr!s2a2OdTMk|GoO zS2>vg^96M%u|MM>9I7oGS`DH0kLvbozHA82-HDDNV|0OT2SDf1II&f+2AT={Yt3*t z4ua|kTVg>N+!Flr#^PaG)!=UI=hEaJ3NM%yt^c(u(}6EGMk784k+lFwP5L=07mx=6 zlf_(Me;MwrnzPW9!-AEK&7AbZLqb$N}P5~ z!Eu}TXYH^xJP(R0|E?&9CJPGwL|zDpLt!e9B&Hm0-5F#{8+=QXp=~%3gX{+b?GIXt zG&*uLpt zl|ra8fYd*)!tr_RL4P8^UqsU`TFDJ<{~izBCU+)hckOKG%4>cc z$0Utm7hxSr>?ulSZ7=K0ZtBTDfZn)#M~&RIy126@i&aqGwSRR-;{meDGRg`Sa@Xe7 zJ;hsC$)#|Q!+l46Md!M0UA5af>-Ti;-0`w0jg?=7T3$w7@!ui}bXe=Q0$mPKDQKFk z+Fi4zGdqu!oI?iA)JS5i`29U;Ro#c0yAN(RB*}WRyEEU@G6>>VQ8aqYd{3x1AC)Ev z!IdF#rOIZ!zdPLr5_{s;v9{KA7pL{awRGk&I}5h<T%T)7G#m zH-j`-aZUYok-)N&p=4)fRcA&myz8o3%_>MIq(LF1F_j?U9!6gbfiyyxKdBCnI@hE? z$)3V3-TR6uCMfCzHu zuFTG2kVCw67=#o3X3_$Dd}Hh(s!awakN_C;NE%Wk6!jjgm7GnEiU{!w8mP}CnRlkd z^~Be+GP04N57w|U_71cOirLZF*wLKTnX$g3B_9fOv?O<Otc;4oH%78MfQ+aj7n%V*!B>#vkfm9Kg`%i5)aMwO0~i<*uoU;}?()>m z_$tuB&Xg8ZG9(w7V&Vl~{`GcgtER3>eX!(9EvDHsYSR zJXYM=0YQRLdlJf7$w`19Fch5yDFbYfY}w-MtWWI8+dkMa4Uiz2wY|DCD+gLY_PA?% zzc~7>msOP1m7UsersQQ>D@gO$q*%#?tg^LiMg4(b=cawE{4E_VYgyZ~yVk~a*2DvG z=rZ(M3(2yxq6Fy!U{OUs5V3^{uSm9Ry!vl2YQ`q@A23QfL;A661u1MPfv~&wHh1kV zLj55Wg^ke!5EOJK!idGQ68C^czy;DOW(~*$zyg$@qkcz6eI`5v;OO4D51D614%GW)$ALz&+edc6ZDt4*i23es>YWkMSTM~eG%}q0@<*5m^SaE8Ah&H5Q5ln-PI?6S={ zu?|e1J-rQRDQGgHrA09$bM+4CWnvwRnTN0nJ)Lo7K$?3P`&|)umEH7R zY4)fiJzSp#65=w4Ej@+bSp;DMNdMVx4=b~(yD|=%K|=O||(Ll_pqIsgT z;%8vM#oxaR2|sW^;0Xa2L-?Sos*&hO=sMb<@BOL<&4T`LYa7`Wb_c^E8U4Zp-r0T` z0N(%}4JaGiS7Kx0fV@B_SbH;&a^YyC-3b$5w`oZ3pL!C@*vi8m?hXQUU^qMKQ`zj0 z%_1UbAq#_JEc)SqJ+uRQfe3pLgtdsy{Og2mLxUJWKEXk;wEmucN81(Art0?7W*Z#X z{hu&RjQVdlCPYC6Gyw5)6#p+${XM%g2zEI#{u3?H1?Fq5!_cQqyX#JkGsfZj7 zs0FhhIN0nN^*aPh?N@?^BsO3m)9D`*k~PsW&KUPI!z& zPWst|IN)mZvpfin1B(=5Lfll#N=#&>ZUuJ~A>Hn^J#i&n`-@qPMXW5;=^y+^aL4_* z!IYR-2Lul+ldYn|X}%1apH;LkEt~-<3xn`MIH(2Xtj31UvbAV+m%Ztyyo-szAdsf^ z`_mcOtd^V~+azX3hd4?hlk&(EGP$S`(~isU7QZi2m$?VtjXbH5)!*ib0%nW_*$+waSRzGOduC~NeFFm`EH1P6Lx>u>zVKS`<){) zAfX@XtD-rPs|7O5asW63ZU-VsEaOP$|2;4KMB(sfFlyTSX4{gxQg%Ybi;YCxaS5G?mHq1DIooy+!Z`jNgeN*0 zOMdYD3d+eqh^@d~bsLdiLj;xBts(uGt;&v+v9+2TIiO(x6>vX(-Ys&+L0F;>E`iFFHSB7`Yo(PKwi>?QqH7lj8A0p@ zm57ENYS=5olxDkNac~VGWK3!LY+FnCUXSikdGp|~g>a7!NCzMZj)e3hc#eIXpoK}p z1Gq#qINzLWbdNq5CPHF=3t$s4DM;BfC(d5PIhr_cAkKBf`7&{S4rg?*Yob01V^cAC z$k##VvBX({II9t73UM|d&Su0}0~5tgKysiIb|22;h_e#$WHQzPPqeT<;A})Zw}2;n zage_WEusUps*E|3){|gIeBdBqu&YOW*d=n=%uR)OS7b2F1mon+VFQV8{=qOa!Hk4) zTuRpwVhS5T-GP@DVIko@p)o^WIMJbbU&hcEwxRxE z^bjA^zE5y}Hs8=v7GdEr^q_#ipAc}RLr!3b4}I~_TGm0qv>_zzgM8^>5n=ue4Y#0( zNS|OAMxNY;1kmT_1al=VY z988VW=%+ZyC?w3039X3oO3imHSY)4fo_}A>$DLy_p}N?4Zez6{q>OAz#XUE*tn6rc zTPt?O!mKY}$MYZ`nM4wgD+1NR_~I}u6KDv4NuhgZ7c&Y5%7!#u@X|;3W0kjFm1wNq zB~kfBtf%|SqGuUvKJi8cC(O*-IDVf|*XCQ-?zZ0Bd|6jYfoHuaeQIA^)~aIT#L=Pun!zc)6s5-cg22Q~+ zRDM8>$VYaP$yA6tK)(Dj1|K^7;PTnnsc|nVo!NK-EL7{AWqR}*vTA<_G z1gMW7>i^O~A{rYrB-NLVxcE<=BgSmtGshdlt^$5?j;p*V`PdEeP`u!51-W=GkWk?W zDNA1P?Ew2ijzrOBzL#Iw*dh*ka0>Dc*x%Fo2_ZB>3d4O^!VQT?lAr?}lx#&Kk~REc zpAa3&NUdPU5GBK*9aEIm!`UMx3SfKrw1HO=@Psyg(PnwTPbf(eWpIr1M;rF!K?blp zF9mfuEu-yBlo^QV3?_)6cI<&ZXWLB!cJk21CJl0W{D2=+k_Pwan2L#U(Q_l7M*uaH z34jg?q+M!2%NiIJa%6G%pgT}QIQD>SNks42^ial6FvypaB#Jg95pO72E(~_<8Bo^^ zo}oM{R1!%b5;#JwX$)}d)Gsq6Q95jAYW&a_POrZ2iw4m@)Xrd@od(cG35n>i!A1bD zoP@q$LL%WP839@kfXz|{ltEJZ{uvqD2}VGMzN0=PBdaC)j1mY?Jv4f#C!Fy>cOf7{ zB>(?OeMdUO&a3bP`JhyT!BP6_x?)P`%J+1B)R^Dt%T(|xNJH|<$e$2AH!z~h)fnB@sXH%JS4s%6MQN@n(K)KF3d}U-w$o$iNkOOu6leU z?=qI05G)mcctgBVRzBc{V7P7*rHDBy0cY|Z#hJXji+FiRJUmibz;FGSspU6#m#ttD zyw~Gm1B{XQfrX_6N4&H71f+OoyHKR?;R0|YBqieR6A=jOJVsb3MG_ZB4+W(JooRj{ zVWEDM@whB{A|f?vz)dED=M^4CC)NuT1zaAz=am{W_#Or4)m<1qA>m{v3p0HDXfcW| zZh-4i^mO#Kbv)o!pX(NnulZXz6T?LjXQEPk_Kr@@6cu~|`*wV&MNoJkjZU_7u_9Z! zI2h_#Qmxdr^z^Cf=D4*UWdg3m?vd?+-?vK5jS9UqCj`s3s!rTpN1@EFNydv{wQ;t~$JZtu@dta@j zoUJ;BdW9-DFR`_7?mDB!sa+QYzKGPWYOp&yw|&$Sv$HtOjemOX_`{ptu7A313X3vn zsb%lz8|^Y*%8T7^&wak};i$`H2Yt+5Eh}0%{4R zeyY6WwV7enq0?Inx8?D_oxJRfd}*<#@)HmLVT^MDJemoqbz?RJsyiR<`(!*rs;Bhm zb+?N*#XJ^-%!+lhnAiDerH8A{!OMQ;d)oJfjcC#;VrpH-b;YKQTy8~L{<2oPHjv5u z_GW*=vvGYZctE2`B}|eqNQ57k1Ch#!^GWlK+;Av1@xk=X8_qo$;ccvvE}BYlU=lhc zr^Gh~myR2$r2XNRvvs)0bJI^zpK2!WJ*rb9fxDvm@_hEV9d27Ry~rxbB9OrdH`LVh zr3Y(-3@qS$!$LH}7YCuIn(%u{wA_u*92iEVmxNk^R%$>Ie2#z+SS3HdAc@2`6Q6)r4YXp_=e#k9Fn|3-0A`b3F<<^lzfXda+Hft(HbUZ zwqIU|WtKDMWGu40>tFa_X02vk;O%t0bl>Pn@7B^g!XHGRFzu@Bx-7BAUv=Wy&QPT> z(F={13zWUjqBd_ka*et?cD0tb|! z7mSm46{nGE45#2*^_NUFF&p2?Bzs<1*s&>6W93m*6fVKe4L3WZ$P(Ubv;{cH9;rbK` ztXe6QejppX#p4tH7T$gUvVKJ7{RJZbDKM3*eZ4B#_HDMvmOPBtIpgl$Lw&nH%=$Vn z&Gm@N`I(cmpWca=J(Dy!=5*xB`hbLqNzKW0TV^@heB!iNNwzsUV++K1OK{%RV=sHwlMZ+q(E8bM7;`++8hl8amF7A|uO zk8}(;#DBJ=vIX0CWSmp6kC7xss!qD7_Qv#`#H|tu_uan2<#%^3>Y8p*)-vjtvC8&t zH|OLFbMuO^)w=l?4K7a-)9mDXbVw>YIbr84y)kAfkNOe|*U@B*dHv2FzwZ=2zgIMI zXGXPE_tI|(g~E;W2c2$0SqCR4j7Xt;?wUiFYwk->;sBEmNNWDi43(D)tv+f`nc9)iqArS1DcM% zI^@0K>e^JAuDXw|j-R@pftC(#pkv@q!)f0k;F;mwr!Ut^&mo=C)6kNZJ~(r;h&=9w z8kOgB!~p|~00Wb({v`wiWd>CS;Pb-u)wL+x z*!~56QzI6q^@d#uYB_Htk>AHppDJhlu)DxSw>nH`=ME>=RS&Pa8yk&}otHtHwshKp z2o?8_Wq8+Bdez$YC5m5CAAEeE-tN_Vf2m*l?Y#n+@NVn%CGWn*Cr#NjIr7AC)f=qT zN3trrbJ8{+dn7paO0VDO>dE)s2*pM_B??ew4V+5Otqs2~bZuGK%xRmuBSSjQNV&_Z z&DHm6vD&?3^XWddE$8$v9BkunnDXh^ghPR1?Gnq(WwK6YGOkeKlID z5xnzOl~^+iDh}u_jaq{<`I`XnwzC0G#7AqQ4B@U(eh?P!MR;f;!W$>1Z0eojM;a^5 z3$q(#EOH#V9tsakeiU_lG8@B`2Qkb!EQ~?6fXOPzKgidIK_i<*LKX@=h!I1$WjL;{ zMWIsRhuBnb%c%XgRCN1K0_~sqR{Q94=Z(ev4#{oyCX>zcqFjPa#$69Pd*=0%#b0xz zB_FgKG7@C!G>fRuzTH1!?x1vyj@{957fCr?Nw$6aDsYdzU3zJAjNOv_>4LYvOlU8R zOun!y!gAG(_&aZ!dv&*;nrC&ls>1kzYG95`St&ij?e*x)jxRcy^rGugUgMWqB_!%g zUyShNZwPQsFWncUd3&tr*NqIdM^T!t_eSD#KU_{<_~pzgFKdd^K^3VEQ~Uy5O;T0y zq@IIu5!HD8xng~R#CZ;GOw~#J)H=Hxj=o)&)fc|DGVaRL92- z6dK9HH*CBJgv8K~Z!9pg@32gK57XP!O(lmlLF)6QhaxUnb33-4(Ec2c0P`Agg~AbvovDPW|zW%T3{3CQFLb*5%!Kx9#JIiNZAf%-6BquV;^dL!P3RZk6I_BroM*OI1<7f-z>dEf7C*m>)#S4Q{59OJ9K z@@Y!DeCn1xBA=vGOe;G29`0Oa-6-fio#t)ou-E*V!}FS`n42Qn!XdJ86!}NuuJ>5Q zpIFl+EBtc5IZ10QKg6#P`zXsyCFtm;jI2}XH}e%L#pV^f+E$qqm@sUSdSldLOfI{k zS9;kW(h153lP@ePpH9)-eE0DZ;~Ut@h0`ycPd-&Y=A$@0y|u)+ipO-(x1jv&N0Q}| zwR%oM*N+mJUP#d-(b8KY`!49g}8-nUAX<{*86{k z-dl@RB`^^7zbsE7njN|&8%SHRueoN8vdtW4 zzOgcQ9zO9lwzzv)^RpB|iTC1sxvx^r%Ae6vUQ^inHb8dD=Ve{Va!(q*V<)o(nXf4wT8-`B*)p#!#a4Ud|I@AJs!H|&0M_j zO4g0X)Lpk$jgK~?EIpgwZj`X8*oSAooLKee_xbxs=N0W- zzxDASJwg`cp!aS-@3P;a_fJ>C-=VkU00;wm1D<1ed@jOPCBFFeczk-?$e+P)vF~=D zzumoHO2$-37tbgvt(X}x=dGZW2JL?h>i?y+JIGoxC-vw&UQ6A3J+&1}@0^dBWlyTs zU@Y+r878&+e9N+odX1|iwxxwEtas-*<3N^j%DWe9`pCVpYR+cahjOH(J&n=5YcD=C zBE5Ljk|Dz1mTvRtmCLAmj=MK@bfqu47T4OD*(;!#$lJ4FlCom>r$0V-MCWOUy%&5G z-ZaLcaNS}NdRBe0K|z4}@mb zBO*TQUfrl4{nTOYs^dD77nB@&+O$H{eA!hOy21S#t2e1}Gbc{6QTFn9;`VaK{k+1{hGEU|Dhz?)FQOC<*YsB-!oH+ZgZF)HpVgM8bjrWEP;Si#KOSTCs<|2U9SW@d zdr$k;M!WJ~HPdj~lexDvdUs7xcBIU$jccSL6*Z~lLZL;TX%h|=yt1UC|cQ)*1SwEayB$?VI><&v`fP#}(iFsJUgD#%$@ur=&{0P?)MoI8&7g z!CoB9?Vk%w5aHh;ag)L5b5Z;@;Z9Lg~*T`eIiQDeTJHg>uGG8v*tXkKs zP%zB#&iEDM-c~0HSqm*%ap}mao+IyFUTo5EIBU4;tEzI_9}5`961o>&oFoN0$1QXi zZ)kEzZ9?I}wMN%I8dvw0F^bXC?9H>z^)a z+;4h&MrN$txNio{#mtEla3+uP;0Op%m^`E4(QrcN*8O91{LeQWxHN7)K4y?>UW(|z zjUWm1Z9t>=DH6nPfG(~BUJQkTdkoPxX4%AM#oN5IG;RpYKfG_!oC8%GY23O3kyNBB zZVJNu{=@dAVNZ0kzi#qoZKg)n*eo-Azx|O+!Gp01E>X==?pdcczLs@eRv~(7wo_x0 zecz_KPG{pT&-CQ0i;7gwguMP3Z?sNEQ!y@8df2KrQ=e>2YC7G}M;6za8o77=>1iQO zfvyn;f_Ink$XzeKQ`f~ylR9%DVs(zIrKYy$)%`agKR?X)KwCactm5HJQOy2bpIO<( zj-K5c9wongEhWxVxixEcigosL)3z6F2h7Ib^*CPaaqjiZOL*CfE2q59*_|c) zR45Si%MB_bRKZo3kGyZeSC{)ykM9@v?6ZB}=4QUJFd=S*bn?peFWtR$ODl|vm}0PD zB|rklxo0raiyiAp`4AiL)C0Lfa2(?vRZ(DR<=+xbRmCTQhXfl|@`F*5A0xdeEr~(| zNczLQRGg~K-nSycy~Hif_*?kI<3`7})enJ0x3$%3la zgx5C*Q+L9as8xo``nU^o#VefTeA4f zDxoOG1Ibx7S6^doHZw~Eby#!7zAP_j>-2b>`0n~<3Hfz9I#!Qvy?%PD9O>j2n=+}5 zS~&_f)DK6Lw_*EQTuvv1s(Hr0)DMk&)A&qE^eM-?jsx#{IXe_F0c|V|==V$^5+^vo z%N^=HbA93J3*H7#z6Bhace$-`cimB`+`k^`)q#Xg=!N1`D+z)T^bh zuCJv_Rrk}^q4@hysXE&JzTbsMY(o85PW)GxyGHBjDeey`KOM=F_3O>9pYBD4g+~zk zU7*ebfmo!!Ug)Hb>#5`VM2N(P(`yKk%*I{tS)6+ak#J(kzixoD-}Rd&7~nZ@B2he$ z{Kd8Z4Cc%Wei9}iEq}-Th*O)A;n#iR+@8C%1x@F_cI?cvN1yXN zv%H4us~+aJl6tT?Cb`Lf_npS4JhPSRjFqCzLMlJJ#ym3fQf1EyXI#zE(?~Ol1j;nst1#2gTE1 zQFi(EK54cZeRiQk{C-!N>FaV!Lk@?kocN$3-}aomQ?&Z^dC|?8j}{dM zB^2x42qAw>y!P#AeU7g1SL2bbxg&QTPCEON*}8kSvc;JFHi^+m7yB+3P8)k`WJ*{1 z)jt0wPKB5Vv6d%PS2UG0EW42Hwmo*vnGw?$URHSddFnBW=zC2Qzf!$0 zZ>MQ>mg^mhMAx>gob$)YfHgjMw&WgbOFI)b{o!Ga%;(jA?8QT#EwU}|$&PAk7CQFT z=v`%mp1?l03uCV~zRNtlMz%L@5y|nuxcG>gE1rte4Cjn#Pks?_%(hJP?u50*3obs> zw%j1sv|(5j)8yr`o9e}UJnL-wUf$!mz`G4+3dTYNd?6=#BEJ4If&IKcC<`8+{I`HB zM7Y`DuQmw&zYdWPP6HH(wCGcD9RqfpMVGjxKoSGQS^nv1ipeuH5rGFKBJe;W0@&Q{ zS0Cw;vKkdPLw7MH?X??v56n^6YCdk#;vNsDUG)O`GJLiTtBwvEe@}1mi4iwNU+Evo z6WH5kaE&yQVtyq>EXHrm%1m$N;HoXQ1wDZaF1P2q>=T)CwCdK*$(6CfRX4Kdp7xgE z@9~f7raDg?q1m-t$mv3jW!?On$252&cL%;X6Y|DzUa|CB>xKvVetSawbfR|@`AVo? zG2Qgx@qIzDYx81CZPmKOT8gBWwqzQ={PcLThoro{o9eb$`hyXMb+!v`K7VepA>r1t zean)@-7=|8o8O({xLT&SSaWX2dL#8ptvSc*OukaD)bJWt@2lFVzw&Zn+?00?ZW|PI zCLA>g^;_lAP#{q;R%!K_w+*~W>F>Q>U35N_mbs?sumWR(*BI3UXH``7C*&H;(7mv{ zdSj)mQrS-bXFl?a9;(_FdL=)aF#n2zor&|Y{qED0d0$JUHdc7tyQ1z?e%}uniIe5`Ss^^UAAgvQmQ-3Rs_U#rY?;3+NZhthI_%hLrYav zUq25ys+ut+!&J|)^Y&i`E~YRE1G$_wJ;bkNlec_`~G z4vyq^c=)93B;}G)iZL23hV0KqY41fZn9i+y|~PG8$KIG6EFyMYD%L^xc?ep1tC7 z%&_&XG%t-QCLfN{FNGw0ZJE|Ba@y$7^qnPdg6{YpQq(EUnNM52e#KgAr`b1$ZCrj? z#!mLlRP(jY7x#Wy{MbZLLoL74cwFh#{c=k)4IcIQow78Jj#YXiwPMG5Mnd}AGZT5N zCml(ZY}~$+e^~zWz>k3%Sw)kkOmFQDAXf2yCdQ4;fy!dlka~vy4bAqGIT;E zt4ihh#d~kWtMXKHa_z;9MSF!(uFD^#j(POzxcYg|Ew#1=A}2(SoT#W|?YnhnRPrpV zIr`KkDl)68->Q7LKgEz7l)GSMSsml3DZjuD(j-+A<}@jLf6>D=_U|5Mtdb2I zwZf__ie);9R&sQ{^TMQ~a=yAbN$t1aeCU-f-mLQQTxrh57xR719(xKFtT7Q-DsV}l zI#PaQi;vI#S9ed0<7;U*J1MUE;yz9DS@_uQ${0W8zbUXa(K~C-hozI_(=H5Gxqjc}nvwS{iK~5ez9*^q z%0&f^FVa*s_sie7nshJb%@HR-ou>KYo&C*5F zt{m@6R#BePRWwp(1OH^1J!326VzPp+u9`67>!^{%7W$j^ovBHytA{1yyhD{N@Z%LvDu0RSxOg1wU3?Ryldj@*19y+iu{@hl2tA@ z1F^Vc`SV>jS!a$_z+MS4drJ3AdONKBmA=!{^O8*ly@eHgUpCR#_TK3rW#zXwS61dQ z^*=?O@7+B|^8B#X+f_FnJ+r;;wYBOvnPYY)t;@TLnNl-xrj*UVnv9nh0v1yG@JxGP zgiydj3gTbz!zB{$(0~P#G*v*9qZpD9vtW`YLm)^6W;rF$k$%#v=Zf%>Al2pjXa^tJ zvt$p=_;UB&6(+^yEmuzKmY#}zA)?})yZm0adcLa4b{+wbH{rUbOU8_V*+n1c#HT14 z6g>}I5a`G8klq%>AKV^);2+OlwZN^l)wOVaU3E(1Bt}w_J8L< zfW8j(-?D3qoWA zd(}=}|3=AmwjbW`uGKHe&_Gzl&33`oVui74^8 zfkNA&x5{?jl2_?*bRqqo&^{xV=X38UU$ysX^Slz|i&2};R?jkiYFfXlzNL{a*Qy_U zUwB=pdY)mhmC*efN6(OuxDB_I@@?{Fj%N*DRWo`^)Q09q6Q$*cW3q%80HTN@N6nBIBNT^;^iY~`A-;k;DJ z`ZpHKmRpZIt`+E!7&7}mO``*~gbZSoMu#+#h^|lwhx5OXM)wQaKZaHQYb^1(%cQ`Jx9dCu(Am;JgG7ZZ0R*ARIr505zT;LG6D`tbvVi@b67QD3PM2tAjF(;kUEItv0&- zhw=AMkxEXiY3XqIXCa?`mdbheaaB;}Vuq{awNep`nfU4X@<6*OUdNBJe2zrbnfOok zd^O5Ng^wa{Hclo>?!2(ny5&Cj+-lrX;6g=)<2ZQ64^0(YOtEU^;1 z_~hO6_;ZJpy{U7&t$XK8Pol0K&+rM@;1%y$ePPqgjjhLa%)jI#6{>ndrY|Y3vEAph zb*qY;a=-|>j6!OaonMO6!s_{7mdYEya*y28oN8`wI_r`|fq+TCs(1c}d9y87zPxDn zC6u-Kbai=e>?9G&tJ@9&8xAB3>2ycS?(NAtH?>RCvZ3tlUBBk-q*k)8ew;{#&5;3)-;4E+SUgD6KI*3y=m|! zlZ&Pw&EE(9bE3bn#CG~_iH&~li+&9Kr%P5jAS zC@mNGAMO15(LH1=UUTHQ|EWdo@48+^H=iuuGU0Jw)APly?n0AiF)c@YI_Q#i_O17b z)Tpzjre^tf=Z*e0uW!L5X?Dh3wWb4K_#TFDrOr_KGP_Fi>jBm}t;U63 zoA0=r_Pjoy=f6Jf+oFZ5?j4^Yx?$oYgJ)xBEb%Q|rVw(ppk&+BkE>Q>FIpeHBjobK zf)9^L(++-CRt`}CDQi^G=gj6YK*yvLyN*@-hZnYHwDa&PMsN#o-_jZ2y2YOv4q zcAMDjyx27nMnavr>QB-iXlaa4dv{pVRYl=_+a8D8s`b@7?_}>QGv9XV!dNr=2T6UC zHkSC}#4;K;+d2 zty1G37ymC_AZ(ie{~8O|PZ4=XVLBZppB$!rn<%#AUC4qF%Qj@|??^9-KZ3^}+8*D8 z#~=J#76(84x?~%e;m7VDe$$65j*%Ex{lRZFs1%QZ2k8GULl5w!07LBb8CYt< zw!0=cg(Cd~Aovc~B#eh=;wB!*%Z7C$T+6&;7dT=Sg9_+!Rp+6=?({(Z4Y77D62XN~ zHD2k*-o>12!D8|cEEB)2(8##pMs-VTL{1;$=osx_24moU=UZ zyjl0i_UaGDqxToq&MZBiSe*JfUvAXl+uiByZ+SlZ$SBOelomXFq)C^;IMStIQ$}4# z8vFQg`d!nmd&3>CzFsQOc6wE&Px05t3Q4mU4=#`WCUn`x-j*B}HsV5v(Z|yKf+??) zC-LV|E6Z*x9u|o$K4-7^L@uec!d?I#zd| zmQb?iVbZbr@PnOf%(Jdy4ipvZH zJRmVk?7NT#{$sdGJ?BiJ_shzF_7LDx5R)6T6;4lI7ER5B{0dHcLtCLaHYivZ6s zO8jL!{sJC<7LTvy8~HQyg?v#wK5qNU|B1qaWV5_I!p4(EUay%`FTtFVJ4dJc&WR{) z&4;xPO8&`uoVKpZTbneMPx*STVT}o{aw2VtzwLw+qq#HHZa8?*KbG~5ITPT}b0 zSe==v@uRb} z%Uw1(`i3pm@F;ZHsv#p&eo*y+ueZQh{rz5fFJJ1bYdk4RA7vVnzvG$vwAvA`GiJ?n zUio^`sn;+4V#WNd$JUu_DI9xvrix&|?lG>Ol@V?+7e>nn2Bhu$a@Vlt$$Rrh6U29C UeNxY#v0H7?hIu-7%rWf$0Fn?`)&Kwi literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..c9909c917ef464d8f3cdfd1a8f88c558d374ab91 GIT binary patch literal 23696 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/packages/MSTest.TestAdapter.1.3.2/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..f55fc6cc62b868befcadf289aa7d44fe59a6c2c1 GIT binary patch literal 26768 zcmeHw2Ut^0v+xPMND&kPK|+xt0wPHgivh|1i=O>9aNeEq7<

2Wc6N4mW)p3eBw?HwhH=5? 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 DQkJND literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.props b/packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.props new file mode 100644 index 00000000..4fd179fc --- /dev/null +++ b/packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.props @@ -0,0 +1,20 @@ + + + + + Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll + PreserveNewest + False + + + \ No newline at end of file diff --git a/packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.targets b/packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.targets new file mode 100644 index 00000000..0649e3a2 --- /dev/null +++ b/packages/MSTest.TestAdapter.1.3.2/build/net45/MSTest.TestAdapter.targets @@ -0,0 +1,35 @@ + + + + true + + + + + + + + + + + + + + + + + + %(CurrentUICultureHierarchy.Identity) + + + + %(MSTestV2ResourceFiles.CultureString)\%(Filename)%(Extension) + PreserveNewest + False + + + + + \ No newline at end of file diff --git a/packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/MSTest.TestAdapter.props b/packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/MSTest.TestAdapter.props new file mode 100644 index 00000000..14ecf32d --- /dev/null +++ b/packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/MSTest.TestAdapter.props @@ -0,0 +1,20 @@ + + + + + Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll + PreserveNewest + False + + + \ No newline at end of file diff --git a/packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/packages/MSTest.TestAdapter.1.3.2/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..9a591bbdde7ad795414374370a1cbe80ab1a5cae GIT binary patch literal 31376 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 PVglx0y8OcuZ)*M@bo*HU literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.props b/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.props new file mode 100644 index 00000000..14ecf32d --- /dev/null +++ b/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.props @@ -0,0 +1,20 @@ + + + + + Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll + PreserveNewest + False + + + \ No newline at end of file diff --git a/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.targets b/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.targets new file mode 100644 index 00000000..b0404380 --- /dev/null +++ b/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/MSTest.TestAdapter.targets @@ -0,0 +1,42 @@ + + + + true + + + + + + + + + + + + + + + + + + %(CurrentUICultureHierarchy.Identity) + + + + + + + + + $(CurrentUICultureHierarchy)\%(FileName).resources.dll + PreserveNewest + %(FullPath) + False + + + + + \ No newline at end of file diff --git a/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/packages/MSTest.TestAdapter.1.3.2/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..e17042d4dd15579c321eef3889935c9fd872672d GIT binary patch literal 34960 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 On+10gX2Cx=_x}Jir@JQr literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/.signature.p7s b/packages/MSTest.TestFramework.1.3.2/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..88085e21fab8706c95ab3cb44c2296fadeca4338 GIT binary patch literal 9355 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/MSTest.TestFramework.1.3.2.nupkg b/packages/MSTest.TestFramework.1.3.2/MSTest.TestFramework.1.3.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..ca1bc9e225bc5c2506e53af03977edb0b0aee5be GIT binary patch literal 1003364 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

u0>1*{+UmEn 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

D8R*WwPu|I@;8CeC^_fR#pbgdWxXHieQC1@P)R# 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 z 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

^R5V5ZEgbPQkB#C^_$!NRZGCu|EKs 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

  • X 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

    ER9)1ly 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Ŷ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

    +=;GQ1DzMe>R{ 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

    YP()65qiIl+s zzzu$z#8o%GFgJ-i+(O|bUN2q>b4>)9i7sCl3_)k<_G{dRtrJ06<5mxMVrvL>CyE

    jGmTxwZ?W$a6w~4f?=-@qf<2I_xe1% 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 k@${cn_#5v&%|-L%LUYq4KvZBbNAO2U0R|J7 + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + +

    + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + Contains literals for names of sections, properties, attributes. + + + + + The configuration section name. + + + + + The configuration section name for Beta2. Left around for compat. + + + + + Section name for Data source. + + + + + Attribute name for 'Name' + + + + + Attribute name for 'ConnectionString' + + + + + Attrbiute name for 'DataAccessMethod' + + + + + Attribute name for 'DataTable' + + + + + The Data Source element. + + + + + Gets or sets the name of this configuration. + + + + + Gets or sets the ConnectionStringSettings element in <connectionStrings> section in the .config file. + + + + + Gets or sets the name of the data table. + + + + + Gets or sets the type of data access. + + + + + Gets the key name. + + + + + Gets the configuration properties. + + + + + The Data source element collection. + + + + + Initializes a new instance of the class. + + + + + Returns the configuration element with the specified key. + + The key of the element to return. + The System.Configuration.ConfigurationElement with the specified key; otherwise, null. + + + + Gets the configuration element at the specified index location. + + The index location of the System.Configuration.ConfigurationElement to return. + + + + Adds a configuration element to the configuration element collection. + + The System.Configuration.ConfigurationElement to add. + + + + Removes a System.Configuration.ConfigurationElement from the collection. + + The . + + + + Removes a System.Configuration.ConfigurationElement from the collection. + + The key of the System.Configuration.ConfigurationElement to remove. + + + + Removes all configuration element objects from the collection. + + + + + Creates a new . + + A new . + + + + Gets the element key for a specified configuration element. + + The System.Configuration.ConfigurationElement to return the key for. + An System.Object that acts as the key for the specified System.Configuration.ConfigurationElement. + + + + Adds a configuration element to the configuration element collection. + + The System.Configuration.ConfigurationElement to add. + + + + Adds a configuration element to the configuration element collection. + + The index location at which to add the specified System.Configuration.ConfigurationElement. + The System.Configuration.ConfigurationElement to add. + + + + Support for configuration settings for Tests. + + + + + Gets the configuration section for tests. + + + + + The configuration section for tests. + + + + + Gets the data sources for this configuration section. + + + + + Gets the collection of properties. + + + The of properties for the element. + + + + + This class represents the live NON public INTERNAL object in the system + + + + + Initializes a new instance of the class that contains + the already existing object of the private class + + object that serves as starting point to reach the private members + the derefrencing string using . that points to the object to be retrived as in m_X.m_Y.m_Z + + + + Initializes a new instance of the class that wraps the + specified type. + + Name of the assembly + fully qualified name + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + Name of the assembly + fully qualified name + An array of objects representing the number, order, and type of the parameters for the constructor to get + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + type of the object to create + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + type of the object to create + An array of objects representing the number, order, and type of the parameters for the constructor to get + Argmenets to pass to the constructor + + + + Initializes a new instance of the class that wraps + the given object. + + object to wrap + + + + Initializes a new instance of the class that wraps + the given object. + + object to wrap + PrivateType object + + + + Gets or sets the target + + + + + Gets the type of underlying object + + + + + returns the hash code of the target object + + int representing hashcode of the target object + + + + Equals + + Object with whom to compare + returns true if the objects are equal. + + + + Invokes the specified method + + Name of the method + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + An array of types corresponding to the types of the generic arguments. + Result of method call + + + + Invokes the specified method + + Name of the method + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Culture info + Result of method call + + + + Invokes the specified method + + Name of the method + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the method to get. + Arguments to pass to the member to invoke. + Culture info + An array of types corresponding to the types of the generic arguments. + Result of method call + + + + Gets the array element using array of subsrcipts for each dimension + + Name of the member + the indices of array + An arrya of elements. + + + + Sets the array element using array of subsrcipts for each dimension + + Name of the member + Value to set + the indices of array + + + + Gets the array element using array of subsrcipts for each dimension + + Name of the member + A bitmask comprised of one or more that specify how the search is conducted. + the indices of array + An arrya of elements. + + + + Sets the array element using array of subsrcipts for each dimension + + Name of the member + A bitmask comprised of one or more that specify how the search is conducted. + Value to set + the indices of array + + + + Get the field + + Name of the field + The field. + + + + Sets the field + + Name of the field + value to set + + + + Gets the field + + Name of the field + A bitmask comprised of one or more that specify how the search is conducted. + The field. + + + + Sets the field + + Name of the field + A bitmask comprised of one or more that specify how the search is conducted. + value to set + + + + Get the field or property + + Name of the field or property + The field or property. + + + + Sets the field or property + + Name of the field or property + value to set + + + + Gets the field or property + + Name of the field or property + A bitmask comprised of one or more that specify how the search is conducted. + The field or property. + + + + Sets the field or property + + Name of the field or property + A bitmask comprised of one or more that specify how the search is conducted. + value to set + + + + Gets the property + + Name of the property + Arguments to pass to the member to invoke. + The property. + + + + Gets the property + + Name of the property + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + The property. + + + + Set the property + + Name of the property + value to set + Arguments to pass to the member to invoke. + + + + Set the property + + Name of the property + An array of objects representing the number, order, and type of the parameters for the indexed property. + value to set + Arguments to pass to the member to invoke. + + + + Gets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + Arguments to pass to the member to invoke. + The property. + + + + Gets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + The property. + + + + Sets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + value to set + Arguments to pass to the member to invoke. + + + + Sets the property + + Name of the property + A bitmask comprised of one or more that specify how the search is conducted. + value to set + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + + + + Validate access string + + access string + + + + Invokes the memeber + + Name of the member + Additional attributes + Arguments for the invocation + Culture + Result of the invocation + + + + Extracts the most appropriate generic method signature from the current private type. + + The name of the method in which to search the signature cache. + An array of types corresponding to the types of the parameters in which to search. + An array of types corresponding to the types of the generic arguments. + to further filter the method signatures. + Modifiers for parameters. + A methodinfo instance. + + + + This class represents a private class for the Private Accessor functionality. + + + + + Binds to everything + + + + + The wrapped type. + + + + + Initializes a new instance of the class that contains the private type. + + Assembly name + fully qualified name of the + + + + Initializes a new instance of the class that contains + the private type from the type object + + The wrapped Type to create. + + + + Gets the referenced type + + + + + Invokes static member + + Name of the member to InvokeHelper + Arguements to the invoction + Result of invocation + + + + Invokes static member + + Name of the member to InvokeHelper + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invoction + Result of invocation + + + + Invokes static member + + Name of the member to InvokeHelper + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invoction + An array of types corresponding to the types of the generic arguments. + Result of invocation + + + + Invokes the static method + + Name of the member + Arguements to the invocation + Culture + Result of invocation + + + + Invokes the static method + + Name of the member + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Culture info + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguements to the invocation + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguements to the invocation + Culture + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + /// An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Culture + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + /// An array of objects representing the number, order, and type of the parameters for the method to invoke + Arguements to the invocation + Culture + An array of types corresponding to the types of the generic arguments. + Result of invocation + + + + Gets the element in static array + + Name of the array + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to get. For instance, to access a[10][11] the indices would be {10,11} + + element at the specified location + + + + Sets the memeber of the static array + + Name of the array + value to set + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to set. For instance, to access a[10][11] the array would be {10,11} + + + + + Gets the element in satatic array + + Name of the array + Additional InvokeHelper attributes + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to get. For instance, to access a[10][11] the array would be {10,11} + + element at the spcified location + + + + Sets the memeber of the static array + + Name of the array + Additional InvokeHelper attributes + value to set + + A one-dimensional array of 32-bit integers that represent the indexes specifying + the position of the element to set. For instance, to access a[10][11] the array would be {10,11} + + + + + Gets the static field + + Name of the field + The static field. + + + + Sets the static field + + Name of the field + Arguement to the invocation + + + + Gets the static field using specified InvokeHelper attributes + + Name of the field + Additional invocation attributes + The static field. + + + + Sets the static field using binding attributes + + Name of the field + Additional InvokeHelper attributes + Arguement to the invocation + + + + Gets the static field or property + + Name of the field or property + The static field or property. + + + + Sets the static field or property + + Name of the field or property + Value to be set to field or property + + + + Gets the static field or property using specified InvokeHelper attributes + + Name of the field or property + Additional invocation attributes + The static field or property. + + + + Sets the static field or property using binding attributes + + Name of the field or property + Additional invocation attributes + Value to be set to field or property + + + + Gets the static property + + Name of the field or property + Arguements to the invocation + The static property. + + + + Sets the static property + + Name of the property + Value to be set to field or property + Arguments to pass to the member to invoke. + + + + Sets the static property + + Name of the property + Value to be set to field or property + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + + + + Gets the static property + + Name of the property + Additional invocation attributes. + Arguments to pass to the member to invoke. + The static property. + + + + Gets the static property + + Name of the property + Additional invocation attributes. + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + The static property. + + + + Sets the static property + + Name of the property + Additional invocation attributes. + Value to be set to field or property + Optional index values for indexed properties. The indexes of indexed properties are zero-based. This value should be null for non-indexed properties. + + + + Sets the static property + + Name of the property + Additional invocation attributes. + Value to be set to field or property + An array of objects representing the number, order, and type of the parameters for the indexed property. + Arguments to pass to the member to invoke. + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguements to the invocation + Culture + Result of invocation + + + + Provides method signature discovery for generic methods. + + + + + Compares the method signatures of these two methods. + + Method1 + Method2 + True if they are similiar. + + + + Gets the hierarchy depth from the base type of the provided type. + + The type. + The depth. + + + + Finds most dervied type with the provided information. + + Candidate matches. + Number of matches. + The most derived method. + + + + Given a set of methods that match the base criteria, select a method based + upon an array of types. This method should return null if no method matches + the criteria. + + Binding specification. + Candidate matches + Types + Parameter modifiers. + Matching method. Null if none matches. + + + + Finds the most specific method in the two methods provided. + + Method 1 + Parameter order for Method 1 + Paramter array type. + Method 2 + Parameter order for Method 2 + >Paramter array type. + Types to search in. + Args. + An int representing the match. + + + + Finds the most specific method in the two methods provided. + + Method 1 + Parameter order for Method 1 + Paramter array type. + Method 2 + Parameter order for Method 2 + >Paramter array type. + Types to search in. + Args. + An int representing the match. + + + + Finds the most specific type in the two provided. + + Type 1 + Type 2 + The defining type + An int representing the match. + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets the current data row when test is used for data driven testing. + + + + + Gets current data connection row when test is used for data driven testing. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + + + + + Gets base directory for results from the test run. Typically a subdirectory of . + + + + + Gets directory for test run result files. Typically a subdirectory of . + + + + + Gets directory for test result files. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + Same as . Use that property instead. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + Same as . Use that property instead. + + + + + Gets directory for test run result files. Typically a subdirectory of . + Same as . Use that property for test run result files, or + for test-specific result files instead. + + + + + Gets the Fully-qualified name of the class containing the test method currently being executed + + + + + Gets the name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + Adds a file name to the list in TestResult.ResultFileNames + + + The file Name. + + + + + Begins a timer with the specified name + + Name of the timer. + + + + Ends a timer with the specified name + + Name of the timer. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..63d2d7bfbde8eeffb52d5b5bcfa955de93c55a1b GIT binary patch literal 40080 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 ac!lU>D_?23+?%nV{(YOUS16N1gaH8SIPtsy literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 00000000..a71d66ca --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,4391 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Specification to disable parallelization. + + + + + Enum to specify whether the data is stored as property or in method. + + + + + Data is declared as property. + + + + + Data is declared in method. + + + + + Attribute to define dynamic data for a test method. + + + + + Initializes a new instance of the class. + + + The name of method or property having test data. + + + Specifies whether the data is stored as property or in method. + + + + + Initializes a new instance of the class when the test data is present in a class different + from test method's class. + + + The name of method or property having test data. + + + The declaring type of property or method having data. Useful in cases when declaring type is present in a class different from + test method's class. If null, declaring type defaults to test method's class type. + + + Specifies whether the data is stored as property or in method. + + + + + Gets or sets the name of method used to customize the display name in test results. + + + + + Gets or sets the declaring type used to customize the display name in test results. + + + + + + + + + + + Specification for parallelization level for a test run. + + + + + The default scope for the parallel run. Although method level gives maximum parallelization, the default is set to + class level to enable maximum number of customers to easily convert their tests to run in parallel. In most cases within + a class tests aren't thread safe. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of workers to be used for the parallel run. + + + + + Gets or sets the scope of the parallel run. + + + To enable all classes to run in parallel set this to . + To get the maximum parallelization level set this to . + + + + + Parallel execution mode. + + + + + Each thread of execution will be handed a TestClass worth of tests to execute. + Within the TestClass, the test methods will execute serially. + + + + + Each thread of execution will be handed TestMethods to execute. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define inline data for a test method. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is false. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is true. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null. + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is not equal to . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Determines whether the first collection is a subset of the second + collection. If either set contains duplicate elements, the number + of occurrences of the element in the subset must be less than or + equal to the number of occurrences in the superset. + + + The collection the test expects to be contained in . + + + The collection the test expects to contain . + + + True if is a subset of + , false otherwise. + + + + + Constructs a dictionary containing the number of occurrences of each + element in the specified collection. + + + The collection to process. + + + The number of null elements in the collection. + + + A dictionary containing the number of occurrences of each element + in the specified collection. + + + + + Finds a mismatched element between the two collections. A mismatched + element is one that appears a different number of times in the + expected collection than it does in the actual collection. The + collections are assumed to be different non-null references with the + same number of elements. The caller is responsible for this level of + verification. If there is no mismatched element, the function returns + false and the out parameters should not be used. + + + The first collection to compare. + + + The second collection to compare. + + + The expected number of occurrences of + or 0 if there is no mismatched + element. + + + The actual number of occurrences of + or 0 if there is no mismatched + element. + + + The mismatched element (may be null) or null if there is no + mismatched element. + + + true if a mismatched element was found; false otherwise. + + + + + compares the objects using object.Equals + + + + + Base class for Framework Exceptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + 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 Access string has invalid syntax.. + + + + + Looks up a localized string similar to The expected collection contains {1} occurrence(s) of <{2}>. The actual collection contains {3} occurrence(s). {0}. + + + + + Looks up a localized string similar to Duplicate item found:<{1}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Case is different for actual value:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference no greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1} ({2})>. Actual:<{3} ({4})>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected any value except:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Do not pass value types to AreSame(). Values converted to Object will never be the same. Consider using AreEqual(). {0}. + + + + + Looks up a localized string similar to {0} failed. {1}. + + + + + Looks up a localized string similar to async TestMethod with UITestMethodAttribute are not supported. Either remove async or use TestMethodAttribute.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + The test class attribute. + + + + + Gets a test method attribute that enables running this test. + + The test method attribute instance defined on this method. + The to be used to run this test. + Extensions can override this method to customize how all methods in a class are run. + + + + The test method attribute. + + + + + Executes a test method. + + The test method to execute. + An array of TestResult objects that represent the outcome(s) of the test. + Extensions can override this method to customize running a TestMethod. + + + + Attribute for data driven test where data can be specified inline. + + + + + The test initialize attribute. + + + + + The test cleanup attribute. + + + + + The ignore attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets the owner. + + + + + The test property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + The class initialize attribute. + + + + + The class cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The assembly cleanup attribute. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + CSS Project Structure URI + + + + + Initializes a new instance of the class for CSS Project Structure URI. + + The CSS Project Structure URI. + + + + Gets the CSS Project Structure URI. + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + WorkItem attribute; used to specify a work item associated with this test. + + + + + Initializes a new instance of the class for the WorkItem Attribute. + + The Id to a work item. + + + + Gets the Id to a workitem associated. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Specifies connection string, table name and row access method for data driven testing. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + The default provider name for DataSource. + + + + + The default data access method. + + + + + Initializes a new instance of the class. This instance will be initialized with a data provider, connection string, data table and data access method to access the data source. + + Invariant data provider name, such as System.Data.SqlClient + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + Specifies the order to access data. + + + + Initializes a new instance of the class.This instance will be initialized with a connection string and table name. + Specify connection string and data table to access OLEDB data source. + + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + + + + Initializes a new instance of the class. This instance will be initialized with a data provider and connection string associated with the setting name. + + The name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + Gets a value representing the data provider of the data source. + + + The data provider name. If a data provider was not designated at object initialization, the default provider of System.Data.OleDb will be returned. + + + + + Gets a value representing the connection string for the data source. + + + + + Gets a value indicating the table name providing data. + + + + + Gets the method used to access the data source. + + + + One of the values. If the is not initialized, this will return the default value . + + + + + Gets the name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/packages/MSTest.TestFramework.1.3.2/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..740d01fd3857259353f56a8c44745531ec2ebd99 GIT binary patch literal 73384 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 LZzAJ}Rd)Ul&m9{B literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..055948f3 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Obsahuje literály názvů oddílů, vlastností a atributů. + + + + + Název oddílu konfigurace + + + + + Název části konfigurace pro Beta2. Zůstává kvůli kompatibilitě. + + + + + Název části pro zdroj dat + + + + + Název atributu pro Name + + + + + Název atributu pro ConnectionString + + + + + Název atributu pro DataAccessMethod + + + + + Název atributu pro DataTable + + + + + Element zdroje dat + + + + + Získá nebo nastaví název této konfigurace. + + + + + Získá nebo nastaví element ConnectionStringSettings v části <connectionStrings> v souboru .config. + + + + + Získá nebo nastaví název tabulky dat. + + + + + Získá nebo nastaví typ přístupu k datům. + + + + + Získá název klíče. + + + + + Získá vlastnosti konfigurace. + + + + + Kolekce elementů zdroje dat + + + + + Inicializuje novou instanci třídy . + + + + + Vrátí element konfigurace se zadaným klíčem. + + Klíč elementu, který se má vrátit + System.Configuration.ConfigurationElement se zadaným klíčem, jinak null. + + + + Získá element konfigurace v zadaném umístění indexu. + + Umístění indexu elementu System.Configuration.ConfigurationElement, který se má vrátit. + + + + Přidá element konfigurace ke kolekci elementů konfigurace. + + System.Configuration.ConfigurationElement, který se má přidat + + + + Odebere System.Configuration.ConfigurationElement z kolekce. + + . + + + + Odebere System.Configuration.ConfigurationElement z kolekce. + + Klíč elementu System.Configuration.ConfigurationElement, který se má odebrat + + + + Odebere všechny objekty elementů konfigurace z kolekce. + + + + + Vytvoří nový . + + Nový . + + + + Získá klíč elementu pro zadaný element konfigurace. + + System.Configuration.ConfigurationElement, pro který se má vrátit klíč + System.Object, který funguje jako klíč pro zadaný element System.Configuration.ConfigurationElement + + + + Přidá element konfigurace ke kolekci elementů konfigurace. + + System.Configuration.ConfigurationElement, který se má přidat + + + + Přidá element konfigurace ke kolekci elementů konfigurace. + + Umístění indexu, kde se má přidat zadaný element System.Configuration.ConfigurationElement + System.Configuration.ConfigurationElement, který se má přidat + + + + Podpora nastavení konfigurace testů + + + + + Získá oddíl konfigurace pro testy. + + + + + Oddíl konfigurace pro testy + + + + + Získá zdroje dat pro tento oddíl konfigurace. + + + + + Získá kolekci vlastností. + + + Třídu vlastností pro element + + + + + Tato třída představuje živý, NEVEŘEJNÝ, INTERNÍ objekt v systému. + + + + + Inicializuje novou instanci třídy , která obsahuje + už existující objekt privátní třídy. + + objektů, které slouží jako počáteční bod k dosažení privátních členů + řetězec zrušení reference využívající . a odkazující na objekt, který se má načíst, jako například v m_X.m_Y.m_Z + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + Název sestavení + plně kvalifikovaný název + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + Název sestavení + plně kvalifikovaný název + Pole objektů představujících počet, pořadí a typ parametrů, které má načíst konstruktor + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + typ objektu, který chcete vytvořit + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + typ objektu, který chcete vytvořit + Pole objektů představujících počet, pořadí a typ parametrů, které má načíst konstruktor + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + daný objekt. + + Objekt, který chcete zabalit + + + + Inicializuje novou instanci třídy , která zabaluje + daný objekt. + + Objekt, který chcete zabalit + Objekt PrivateType + + + + Získá nebo nastaví cíl. + + + + + Získá typ základního objektu. + + + + + Vrátí hodnotu hash cílového objektu. + + celé číslo představující hodnotu hash cílového objektu + + + + Rovná se + + Objekt, se kterým chcete porovnat + pokud se objekty rovnají, vrátí true. + + + + Vyvolá zadanou metodu. + + Název metody + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Pole typů odpovídající typům obecných argumentů + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Pole typů odpovídající typům obecných argumentů + Výsledek volání metody + + + + Získá prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + indexy pole + Pole prvků + + + + Nastaví prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + Hodnota, která se má nastavit + indexy pole + + + + Získá prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + indexy pole + Pole prvků + + + + Nastaví prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Hodnota, která se má nastavit + indexy pole + + + + Získá pole. + + Název pole + Pole + + + + Nastaví pole. + + Název pole + nastavovací hodnota + + + + Získá pole. + + Název pole + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole + + + + Nastaví pole. + + Název pole + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + + + + Načte pole nebo vlastnost. + + Název pole nebo vlastnosti + Pole nebo vlastnost + + + + Nastaví pole nebo vlastnost. + + Název pole nebo vlastnosti + nastavovací hodnota + + + + Získá pole nebo vlastnost. + + Název pole nebo vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole nebo vlastnost + + + + Nastaví pole nebo vlastnost. + + Název pole nebo vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + + + + Získá vlastnost. + + Název vlastnosti + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Získá vlastnost. + + Název vlastnosti + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Nastaví vlastnost. + + Název vlastnosti + nastavovací hodnota + Argumenty pro vyvolání, které se mají předat členu + + + + Nastaví vlastnost. + + Název vlastnosti + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + nastavovací hodnota + Argumenty pro vyvolání, které se mají předat členu + + + + Získá vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Získá vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Nastaví vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + Argumenty pro vyvolání, které se mají předat členu + + + + Nastaví vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + + + + Ověří přístupový řetězec. + + přístupový řetězec + + + + Vyvolá člen. + + Název člena + Další atributy + Argumenty vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vybere z aktuálního privátního typu nejvhodnější signaturu obecné metody. + + Název metody, ve které chcete prohledat mezipaměť podpisu + Pole typů odpovídající typům parametrů, ve kterých se má hledat. + Pole typů odpovídající typům obecných argumentů + pro další filtrování podpisů metody. + Modifikátory parametrů + Instance methodinfo + + + + Tato třída představuje privátní třídu pro funkci privátního přístupového objektu. + + + + + Váže se na vše. + + + + + Zabalený typ + + + + + Inicializuje novou instanci třídy , která obsahuje privátní typ. + + Název sestavení + plně kvalifikovaný název + + + + Inicializuje novou instanci třídy , která obsahuje + privátní typ z objektu typu. + + Zabalený typ, který se má vytvořit + + + + Získá odkazovaný typ. + + + + + Vyvolá statický člen. + + Název členu InvokeHelper + Argumenty vyvolání + Výsledek vyvolání + + + + Vyvolá statický člen. + + Název členu InvokeHelper + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty vyvolání + Výsledek vyvolání + + + + Vyvolá statický člen. + + Název členu InvokeHelper + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty vyvolání + Pole typů odpovídající typům obecných argumentů + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Informace o jazykové verzi + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Další atributy vyvolání + Argumenty k vyvolání + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Další atributy vyvolání + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + /// Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + /// Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Jazyková verze + Pole typů odpovídající typům obecných argumentů + Výsledek vyvolání + + + + Získá prvek ve statickém poli. + + Název pole + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má získat. Pokud chcete získat přístup například k a[10][11], budou indexy {10,11}. + + prvek v zadaném umístění + + + + Nastaví člen statického pole. + + Název pole + nastavovací hodnota + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má nastavit. Pokud chcete například získat přístup k a[10][11], bude toto pole {10,11}. + + + + + Získá prvek ve statickém poli. + + Název pole + Další atributy InvokeHelper + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má získat. Pokud chcete například získat přístup k a[10][11], bude toto pole {10,11}. + + prvek v zadaném umístění + + + + Nastaví člen statického pole. + + Název pole + Další atributy InvokeHelper + nastavovací hodnota + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má nastavit. Pokud chcete například získat přístup k a[10][11], bude toto pole {10,11}. + + + + + Získá statické pole. + + Název pole + Statické pole + + + + Nastaví statické pole. + + Název pole + Argument k vyvolání + + + + Získá statické pole pomocí zadaných atributů InvokeHelper. + + Název pole + Další atributy vyvolání + Statické pole + + + + Nastaví statické pole pomocí atributů vazby. + + Název pole + Další atributy InvokeHelper + Argument k vyvolání + + + + Získá statické pole nebo vlastnost. + + Název pole nebo vlastnosti + Statické pole nebo vlastnost + + + + Nastaví statické pole nebo vlastnost. + + Název pole nebo vlastnosti + Hodnota, která se má nastavit pro pole nebo vlastnost + + + + Získá statické pole nebo vlastnost pomocí zadaných atributů InvokeHelper. + + Název pole nebo vlastnosti + Další atributy vyvolání + Statické pole nebo vlastnost + + + + Nastaví statické pole nebo vlastnost pomocí atributů vazby. + + Název pole nebo vlastnosti + Další atributy vyvolání + Hodnota, která se má nastavit pro pole nebo vlastnost + + + + Získá statistickou vlastnost. + + Název pole nebo vlastnosti + Argumenty k vyvolání + Statická vlastnost + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Hodnota, která se má nastavit pro pole nebo vlastnost + Argumenty pro vyvolání, které se mají předat členu + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Hodnota, která se má nastavit pro pole nebo vlastnost + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + + + + Získá statistickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Argumenty pro vyvolání, které se mají předat členu + Statická vlastnost + + + + Získá statistickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + Statická vlastnost + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Hodnota, která se má nastavit pro pole nebo vlastnost + Volitelné hodnoty indexu pro indexované vlastnosti. Indexy indexovaných vlastností se počítají od nuly. Tato hodnota by měla pro neindexované vlastnosti být Null. + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Hodnota, která se má nastavit pro pole nebo vlastnost + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Poskytuje zjišťování podpisu metody pro obecné metody. + + + + + Porovnává signatury těchto dvou metod. + + Method1 + Method2 + True, pokud je mezi nimi podobnost + + + + Získá hloubku hierarchie od základního typu poskytnutého typu. + + Typ + Hloubka + + + + Najde nejvíce odvozený typ s poskytnutými informacemi. + + Možné shody + Počet shod + Nejvíce odvozená metoda + + + + S ohledem na sadu metod, které splňují základní kritéria, vybere pro pole typů + metodu. Pokud kritériím nevyhovuje žádná metoda, měla by tato metoda + vrátit null. + + Specifikace vazby + Možné shody + Typy + Modifikátory parametrů + Metoda porovnávání. Null, pokud se nic neshoduje + + + + Najde v daných dvou poskytnutých metodách nejkonkrétnější metodu. + + Metoda 1 + Pořadí parametrů pro Metodu 1 + Typ pole parametrů + Metoda 2 + Pořadí parametrů pro Metodu 2 + >Typ pole parametrů + Typy, ve kterých se má hledat + Argumenty + Číslo typu int, které představuje shodu + + + + Najde v daných dvou poskytnutých metodách nejkonkrétnější metodu. + + Metoda 1 + Pořadí parametrů pro Metodu 1 + Typ pole parametrů + Metoda 2 + Pořadí parametrů pro Metodu 2 + >Typ pole parametrů + Typy, ve kterých se má hledat + Argumenty + Číslo typu int, které představuje shodu + + + + Najde ze dvou poskytnutých typů ten nejkonkrétnější. + + Typ 1 + Typ 2 + Definující typ + Číslo typu int, které představuje shodu + + + + Používá se pro ukládání informací poskytovaných testy jednotek. + + + + + Získá vlastnosti testu. + + + + + Získá aktuální řádek dat, když se test použije k testování řízenému daty. + + + + + Získá aktuální řádek připojení k datům, když se test použije k testování řízenému daty. + + + + + Získá základní adresář pro testovací běh, do kterého se ukládají nasazené soubory a soubory s výsledky. + + + + + Získá adresář pro soubory nasazené pro testovací běh. Obvykle se jedná o podadresář adresáře . + + + + + Získá základní adresář pro výsledky z testovacího běhu. Obvykle se jedná o podadresář adresáře . + + + + + Získá adresář pro soubory výsledků testovacího běhu. Obvykle se jedná o podadresář adresáře . + + + + + Získá adresář pro soubory s výsledky testu. + + + + + Získá základní adresář pro testovací běh, do kterého se ukládají nasazené soubory a soubory výsledků. + Shodné s . Použijte místo toho tuto vlastnost. + + + + + Získá adresář pro soubory nasazené pro testovací běh. Obvykle se jedná o podadresář adresáře . + Shodné s . Použijte místo toho tuto vlastnost. + + + + + Získá adresář pro soubory výsledků testovacího běhu. Obvykle se jedná o podadresář adresáře . + Shodné s . Pro soubory výsledků testovacího běhu použijte tuto vlastnost, + pro soubory výsledků konkrétního testu pak . + + + + + Získá plně kvalifikovaný název třídy, která obsahuje aktuálně prováděnou metodu testu. + + + + + Získá název aktuálně prováděné metody testu. + + + + + Získá aktuální výsledek testu. + + + + + Používá se pro zápis trasovacích zpráv během testu. + + řetězec formátované zprávy + + + + Používá se pro zápis trasovacích zpráv během testu. + + Řetězec formátu + argumenty + + + + Přidá do seznamu v TestResult.ResultFileNames název souboru. + + + Název souboru + + + + + Spustí zadaným způsobem časovač. + + Název časovače + + + + Ukončí zadaným způsobem časovač. + + Název časovače + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..3f446b4e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..6dc91e9f --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Enthält Literale für Namen von Abschnitten, Eigenschaften, Attributen. + + + + + Der Konfigurationsabschnittsname. + + + + + Der Konfigurationsbereichsname für Beta2. Belassen für Kompatibilität. + + + + + Abschnittsname für die Datenquelle. + + + + + Attributname für "Name" + + + + + Attributname für "ConnectionString" + + + + + Attributname für "DataAccessMethod" + + + + + Attributname für "DataTable" + + + + + Das Datenquellelement. + + + + + Ruft das Arrayelement mit einem Array von tiefgestellten Indizes für diese Konfiguration ab. + + + + + Ruft das Element "ConnectionStringSettings" im Abschnitt <connectionStrings> in der Konfigurationsdatei ab oder legt es fest. + + + + + Ruft den Namen der Datentabelle ab oder legt ihn fest. + + + + + Ruft den Datenzugriffstyp ab oder legt ihn fest. + + + + + Ruft den Schlüsselnamen ab. + + + + + Ruft die Konfigurationseigenschaften ab. + + + + + Die Sammlung der Datenquellenelemente. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Gibt das Konfigurationselement mit dem angegebenen Schlüssel zurück. + + Der Schlüssel des Elements, das zurückgegeben werden soll. + Das System.Configuration.ConfigurationElement mit dem angegebenen Schlüssel, andernfalls NULL. + + + + Ruft das Konfigurationselement am angegebenen Indexspeicherort ab. + + Der Indexspeicherort des System.Configuration.ConfigurationElement, das zurückgegeben werden soll. + + + + Fügt der Konfigurationselementsammlung ein Konfigurationselement hinzu. + + Das System.Configuration.ConfigurationElement, das hinzugefügt werden soll. + + + + Entfernt ein System.Configuration.ConfigurationElement aus der Sammlung. + + Das . + + + + Entfernt ein System.Configuration.ConfigurationElement aus der Sammlung. + + Der Schlüssel des zu entfernenden System.Configuration.ConfigurationElement. + + + + Entfernt alle Konfigurationselementobjekte aus der Sammlung. + + + + + Erstellt ein neues. + + Eine neues . + + + + Ruft den Elementschlüssel für ein angegebenes Konfigurationselement ab. + + Das System.Configuration.ConfigurationElement, für das der Schlüssel zurückgegeben werden soll. + Ein System.Object, das als Schlüssel für das angegebene System.Configuration.ConfigurationElement fungiert. + + + + Fügt der Konfigurationselementsammlung ein Konfigurationselement hinzu. + + Das System.Configuration.ConfigurationElement, das hinzugefügt werden soll. + + + + Fügt der Konfigurationselementsammlung ein Konfigurationselement hinzu. + + Die Stelle im Index, an der das angegebene System.Configuration.ConfigurationElement hinzugefügt werden soll. + Das System.Configuration.ConfigurationElement, das hinzugefügt werden soll. + + + + Unterstützung für Konfigurationseinstellungen für Tests. + + + + + Ruft den Konfigurationsabschnitt für Tests ab. + + + + + Der Konfigurationsabschnitt für Tests. + + + + + Ruft die Datenquellen für diesen Konfigurationsbereich ab. + + + + + Ruft die Sammlung von Eigenschaften ab. + + + Der mit Eigenschaften für das Element. + + + + + Diese Klasse stellt das NICHT öffentliche INTERNE Objekt im System dar. + + + + + Initialisiert eine neue Instanz der -Klasse, die + das bereits vorhandene Objekt der privaten Klasse enthält + + Objekt, das als Ausgangspunkt zum Erreichen der privaten Member dient + Die dereferenzierende Zeichenfolge mit ., die auf das abzurufende Objekt zeigt (wie in m_X.m_Y.m_Z). + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Name der Assembly + Vollqualifizierter Name + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Name der Assembly + Vollqualifizierter Name + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für den abzurufenden Konstruktor darstellt. + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Typ des zu erstellenden Objekts + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Typ des zu erstellenden Objekts + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für den abzurufenden Konstruktor darstellt. + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die das + angegebene Objekt umschließt. + + Das zu umschließende Objekt. + + + + Initialisiert eine neue Instanz der-Klasse, die das + angegebene Objekt umschließt. + + Das zu umschließende Objekt. + PrivateType-Objekt + + + + Ruf das Ziel ab bzw. legt dieses fest. + + + + + Ruft den Typ des zugrunde liegenden Objekts ab + + + + + Gibt den Hashcode des Zielobjekts zurück. + + int-Wert, der den Hashcode des Zielobjekts darstellt. + + + + Ist gleich + + Objekt, mit dem verglichen werden soll + gibt "true" zurück, wenn die Objekte gleich sind. + + + + Ruft die angegebene Methode auf. + + Name der Methode + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Der Name der Methode. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Methodenaufrufs + + + + Ruft das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension ab. + + Name des Members + Indizes des Arrays + Ein Array von Elementen. + + + + Legt das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension fest. + + Name des Members + Der festzulegende Wert + Indizes des Arrays + + + + Ruft das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension ab. + + Name des Members + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Indizes des Arrays + Ein Array von Elementen. + + + + Legt das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension fest. + + Name des Members + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + Indizes des Arrays + + + + Ruft das Feld ab. + + Name des Felds + Das Feld. + + + + Legt das Feld fest. + + Name des Felds + Der festzulegende Wert + + + + Ruft das Feld ab. + + Name des Felds + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Das Feld. + + + + Legt das Feld fest. + + Name des Felds + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + + + + Ruft das Feld oder die Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Das Feld oder die Eigenschaft. + + + + Legt das Feld oder die Eigenschaft fest. + + Der Name des Felds oder der Eigenschaft. + Der festzulegende Wert + + + + Ruft das Feld oder die Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Das Feld oder die Eigenschaft. + + + + Legt das Feld oder die Eigenschaft fest. + + Der Name des Felds oder der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + + + + Ruft die Eigenschaft ab. + + Der Name der Eigenschaft. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Ruft die Eigenschaft ab. + + Der Name der Eigenschaft. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Der festzulegende Wert + An den aufzurufenden Member zu übergebende Argumente. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + Der festzulegende Wert + An den aufzurufenden Member zu übergebende Argumente. + + + + Ruft die Eigenschaft ab. + + Name der Eigenschaft + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Ruft die Eigenschaft ab. + + Name der Eigenschaft + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + An den aufzurufenden Member zu übergebende Argumente. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + + + + Überprüft die Zugriffszeichenfolge. + + Zugriffszeichenfolge + + + + Ruft den Member auf. + + Name des Members + Zusätzliche Attribute + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Extrahiert die am besten geeignete generische Methodensignatur aus dem aktuellen privaten Typ. + + Der Name der Methode, in der der Signaturcache gesucht werden soll. + Ein Array von Typen, das den Typen der Parameter entspricht, in denen gesucht werden soll. + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + zum weiteren Filtern der Methodensignaturen. + Modifizierer für Parameter. + Eine methodinfo-Instanz. + + + + Diese Klasse stellt eine private Klasse für die private Accessorfunktion dar. + + + + + Bindet an alles. + + + + + Der umschlossene Typ. + + + + + Initialisiert eine neue Instanz der -Klasse, die den privaten Typ enthält. + + Assemblyname + Der vollqualifizierte Name von + + + + Initialisiert eine neue Instanz der -Klasse, die + den privaten Typ aus dem Typobjekt enthält. + + Der umschlossene Typ, der erstellt werden soll. + + + + Ruft den referenzierten Typ ab. + + + + + Ruft den statischen Member auf. + + Der Name des Members, für den InvokeHelper aufgerufen werden soll. + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft den statischen Member auf. + + Der Name des Members, für den InvokeHelper aufgerufen werden soll. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft den statischen Member auf. + + Der Name des Members, für den InvokeHelper aufgerufen werden soll. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Kulturinformation + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Zusätzliche Aufrufattribute + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Zusätzliche Aufrufattribute + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + /// Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + /// Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Kultur + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Aufrufs + + + + Ruft das Element im statischen Array ab. + + Name des Arrays + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des abzurufenden Elements angeben. Um z. B. auf "a[10][11]" zuzugreifen, würden die Indizes {10,11} lauten. + + Element an der angegebenen Position + + + + Legt den Member des statischen Arrays fest. + + Name des Arrays + Der festzulegende Wert + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des festzulegenden Elements angeben. Um z. B. auf "a[10][11]" zuzugreifen, würde das Array {10,11} lauten. + + + + + Ruft das Element im statischen Array ab. + + Name des Arrays + Zusätzliche InvokeHelper-Attribute + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des abzurufenden Elements angeben. Um z. B. auf "a[10][11]" zuzugreifen, würde das Array {10,11} lauten. + + Element an der angegebenen Position + + + + Legt den Member des statischen Arrays fest. + + Name des Arrays + Zusätzliche InvokeHelper-Attribute + Der festzulegende Wert + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des festzulegenden Elements angeben. Um z. B. auf "[10][11]" zuzugreifen, würde das Array {10,11} lauten. + + + + + Ruft das statische Feld ab. + + Der Name des Felds. + Das statische Feld. + + + + Legt das statische Feld fest. + + Der Name des Felds. + Argument für den Aufruf + + + + Ruft das statische Feld mit den angegebenen InvokeHelper-Attributen ab. + + Der Name des Felds. + Zusätzliche Aufrufattribute + Das statische Feld. + + + + Legt das statische Feld mit Bindungsattributen fest. + + Der Name des Felds. + Zusätzliche InvokeHelper-Attribute + Argument für den Aufruf + + + + Ruft das statische Feld oder die Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Das statische Feld oder die statische Eigenschaft. + + + + Legt das statische Feld oder die Eigenschaft fest. + + Der Name des Felds oder der Eigenschaft. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + + + + Ruft das statische Feld oder die Eigenschaft mit den angegebenen InvokeHelper-Attributen ab. + + Der Name des Felds oder der Eigenschaft. + Zusätzliche Aufrufattribute + Das statische Feld oder die statische Eigenschaft. + + + + Legt das statische Feld oder die Eigenschaft mit Bindungsattributen fest. + + Der Name des Felds oder der Eigenschaft. + Zusätzliche Aufrufattribute + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + + + + Ruft die statische Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Argumente für den Aufruf + Die statische Eigenschaft. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + An den aufzurufenden Member zu übergebende Argumente. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + + + + Ruft die statische Eigenschaft ab. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + An den aufzurufenden Member zu übergebende Argumente. + Die statische Eigenschaft. + + + + Ruft die statische Eigenschaft ab. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Die statische Eigenschaft. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + Optionale Indexwerte für indizierte Eigenschaften. Die Indizes indizierter Eigenschaften sind nullbasiert. Dieser Wert sollte für nicht indizierte Eigenschaften null sein. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Stellt Methodensignaturermittlung für generische Methoden bereit. + + + + + Vergleicht die Methodensignaturen dieser beiden Methoden. + + Method1 + Method2 + "true", wenn sie ähnlich sind. + + + + Ruft die Hierarchietiefe vom Basistyp des bereitgestellten Typs ab. + + Der Typ. + Die Tiefe. + + + + Findet den am häufigsten abgerufenen Typ mit den angegebenen Informationen. + + Kandidatenübereinstimmungen. + Anzahl der Übereinstimmungen. + Die am häufigsten abgerufene Methode. + + + + Wählt bei Angabe einer Sammlung von Methoden, die mit den Basiskriterien übereinstimmen, eine Methode basierend + auf einem Array von Typen aus. Diese Methode sollte NULL zurückgeben, wenn keine Methode + mit den Kriterien übereinstimmt. + + Bindungsspezifikation. + Kandidatenübereinstimmungen + Typen + Parametermodifizierer. + Übereinstimmungsmethode. NULL, wenn keine Übereinstimmung vorliegt. + + + + Findet unter den beiden angegeben Methoden die spezifischste. + + Methode 1 + Parameterreihenfolge für Methode 1 + Parameter-Arraytyp. + Methode 2 + Parameterreihenfolge für Methode 2 + >Parameter-Arraytyp. + Typen, in denen gesucht wird. + Argumente. + Ein "int", der die Übereinstimmung darstellt. + + + + Findet unter den beiden angegeben Methoden die spezifischste. + + Methode 1 + Parameterreihenfolge für Methode 1 + Parameter-Arraytyp. + Methode 2 + Parameterreihenfolge für Methode 2 + >Parameter-Arraytyp. + Typen, in denen gesucht wird. + Argumente. + Ein "int", der die Übereinstimmung darstellt. + + + + Findet unter den beiden angegeben Typen den spezifischsten. + + Typ 1 + Typ 2 + Der Definitionstyp + Ein "int", der die Übereinstimmung darstellt. + + + + Wird verwendet, um Informationen zu speichern, die für Komponententests bereitgestellt werden. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft die aktuelle Datenzeile ab, wenn der Test für datengesteuerte Tests verwendet wird. + + + + + Ruft die aktuelle Datenverbindungszeile ab, wenn der Test für datengesteuerte Tests verwendet wird. + + + + + Ruft das Basisverzeichnis für den Testlauf ab, in dem die bereitgestellten Dateien und die Ergebnisdateien gespeichert werden. + + + + + Ruft das Verzeichnis für Dateien ab, die für den Testlauf bereitgestellt werden. Normalerweise ein Unterverzeichnis von . + + + + + Ruft das Basisverzeichnis für Ergebnisse aus dem Testlauf ab. Normalerweise ein Unterverzeichnis von . + + + + + Ruft das Verzeichnis für Ergebnisdateien des Testlaufs ab. In der Regel ein Unterverzeichnis von . + + + + + Ruft das Verzeichnis für Testergebnisdateien ab. + + + + + Ruft das Basisverzeichnis für den Testlauf ab, unter dem bereitgestellte Dateien und Ergebnisdateien gespeichert werden. + Identisch mit. Verwenden Sie diese Eigenschaft. + + + + + Ruft das Verzeichnis für Dateien ab, die für den Testlauf bereitgestellt werden. Normalerweise ein Unterverzeichnis von . + Identisch mit. Verwenden Sie diese Eigenschaft. + + + + + Ruft das Verzeichnis für Dateien ab, die für den Testlauf bereitgestellt werden. Normalerweise ein Unterverzeichnis von . + Identisch mit. Verwenden Sie diese Eigenschaft für Dateien, die für den Testlauf bereitgestellt werden, oder + für testspezifische Ergebnisdateien. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die momentan ausgeführte Testmethode enthält + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Wird zum Schreiben von Ablaufverfolgungsnachrichten verwendet, während der Test ausgeführt wird. + + formatierte Meldungszeichenfolge + + + + Wird zum Schreiben von Ablaufverfolgungsnachrichten verwendet, während der Test ausgeführt wird. + + Formatzeichenfolge + Die Argumente + + + + Fügt der Liste in TestResult.ResultFileNames einen Dateinamen hinzu. + + + Der Dateiname. + + + + + Startet einen Timer mit dem angegebenen Namen. + + Name des Timers. + + + + Beendet einen Timer mit dem angegebenen Namen. + + Name des Timers. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..ae680260 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..17b74f56 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Contiene literales para los nombres de secciones, propiedades y atributos. + + + + + Nombre de la sección de configuración. + + + + + Nombre de la sección de configuración para Beta2. Se deja por motivos de compatibilidad. + + + + + Nombre de sección para el origen de datos. + + + + + Nombre de atributo para "Name". + + + + + Nombre de atributo para "ConnectionString". + + + + + Nombre de atributo para "DataAccessMethod". + + + + + Nombre de atributo para "DataTable". + + + + + Elemento de origen de datos. + + + + + Obtiene o establece el nombre de esta configuración. + + + + + Obtiene o establece el elemento ConnectionStringSettings en la sección <connectionStrings> del archivo .config. + + + + + Obtiene o establece el nombre de la tabla de datos. + + + + + Obtiene o establece el tipo de acceso de datos. + + + + + Obtiene el nombre de la clave. + + + + + Obtiene las propiedades de configuración. + + + + + Colección de elementos del origen de datos. + + + + + Inicializa una nueva instancia de la clase . + + + + + Devuelve el elemento de configuración con la clave especificada. + + Clave del elemento que se va a devolver. + Objeto System.Configuration.ConfigurationElement con la clave especificada. De lo contrario, NULL. + + + + Obtiene el elemento de configuración en la ubicación del índice especificada. + + Ubicación del índice del objeto System.Configuration.ConfigurationElement que se va a devolver. + + + + Agrega un elemento de configuración a la colección de elementos de configuración. + + Objeto System.Configuration.ConfigurationElement que se va a agregar. + + + + Quita un elemento System.Configuration.ConfigurationElement de la colección. + + El . + + + + Quita un elemento System.Configuration.ConfigurationElement de la colección. + + Clave del objeto System.Configuration.ConfigurationElement que se va a quitar. + + + + Quita todos los objetos de elemento de configuración de la colección. + + + + + Crea un nuevo elemento . + + Un nuevo objeto . + + + + Obtiene la clave de un elemento de configuración especificado. + + Objeto System.Configuration.ConfigurationElement para el que se va a devolver la clave. + Elemento System.Object que actúa como clave del objeto System.Configuration.ConfigurationElement especificado. + + + + Agrega un elemento de configuración a la colección de elementos de configuración. + + Objeto System.Configuration.ConfigurationElement que se va a agregar. + + + + Agrega un elemento de configuración a la colección de elementos de configuración. + + Ubicación del índice en la que se va a agregar el objeto System.Configuration.ConfigurationElement especificado. + Objeto System.Configuration.ConfigurationElement que se va a agregar. + + + + Compatibilidad con las opciones de configuración para pruebas. + + + + + Obtiene la sección de configuración para pruebas. + + + + + Sección de configuración para pruebas. + + + + + Obtiene los orígenes de datos para esta sección de configuración. + + + + + Obtiene la colección de propiedades. + + + de propiedades para el elemento. + + + + + Esta clase representa el objeto INTERNO NO público activo en el sistema. + + + + + Inicializa una nueva instancia de la clase que contiene + el objeto que ya existe de la clase privada. + + objeto que sirve como punto de partida para llegar a los miembros privados + Cadena de desreferencia que usa . para apuntar al objeto que se va a recuperar, como en m_X.m_Y.m_Z + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + Nombre del ensamblado + nombre completo + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + Nombre del ensamblado + nombre completo + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el constructor que se va a obtener + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + tipo del objeto que se va a crear + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + tipo del objeto que se va a crear + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el constructor que se va a obtener + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + objeto dado. + + objeto para encapsular + + + + Inicializa una nueva instancia de la clase que contiene el + objeto dado. + + objeto para encapsular + Objeto PrivateType + + + + Obtiene o establece el destino. + + + + + Obtiene el tipo del objeto subyacente. + + + + + Devuelve el código hash del objeto de destino. + + valor int que representa el código hash del objeto de destino + + + + Es igual a + + Objeto con el que se va a comparar + devuelve "true" si los objetos son iguales. + + + + Invoca el método especificado. + + Nombre del método + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la llamada al método + + + + Obtiene el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + los índices de la matriz + Una matriz de elementos. + + + + Establece el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + Valor para establecer + los índices de la matriz + + + + Obtiene el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + los índices de la matriz + Una matriz de elementos. + + + + Establece el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Valor para establecer + los índices de la matriz + + + + Obtiene el campo. + + Nombre del campo + El campo. + + + + Establece el campo. + + Nombre del campo + valor para establecer + + + + Obtiene el campo. + + Nombre del campo + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + El campo. + + + + Establece el campo. + + Nombre del campo + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + + + + Obtiene el campo o la propiedad. + + Nombre del campo o propiedad + El campo o la propiedad. + + + + Establece el campo o la propiedad. + + Nombre del campo o propiedad + valor para establecer + + + + Obtiene el campo o la propiedad. + + Nombre del campo o propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + El campo o la propiedad. + + + + Establece el campo o la propiedad. + + Nombre del campo o propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + + + + Obtiene la propiedad. + + Nombre de la propiedad + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Obtiene la propiedad. + + Nombre de la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Establece la propiedad. + + Nombre de la propiedad + valor para establecer + Argumentos para pasar al miembro que se va a invocar. + + + + Establece la propiedad. + + Nombre de la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + valor para establecer + Argumentos para pasar al miembro que se va a invocar. + + + + Obtiene la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Obtiene la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Establece la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + Argumentos para pasar al miembro que se va a invocar. + + + + Establece la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + + + + Valida la cadena de acceso. + + cadena de acceso + + + + Invoca el miembro. + + Nombre del miembro + Atributos adicionales + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Extrae la signatura de método genérico más adecuada del tipo privado actual. + + Nombre del método donde se va a buscar la memoria caché de signatura. + Matriz de tipos correspondientes a los tipos de los parámetros donde buscar. + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + para filtrar aún más las signaturas de método. + Modificadores para parámetros. + Una instancia de methodinfo. + + + + Esta clase representa una clase privada para la funcionalidad de descriptor de acceso privado. + + + + + Se enlaza a todo. + + + + + Tipo que contiene la clase. + + + + + Inicializa una nueva instancia de la clase que contiene el tipo privado. + + Nombre del ensamblado + nombre completo de + + + + Inicializa una nueva instancia de la clase que contiene + el tipo privado del objeto de tipo. + + Tipo encapsulado que se va a crear. + + + + Obtiene el tipo al que se hace referencia. + + + + + Invoca el miembro estático. + + Nombre del miembro para InvokeHelper + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el miembro estático. + + Nombre del miembro para InvokeHelper + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el miembro estático. + + Nombre del miembro para InvokeHelper + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Información de referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + /// Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + /// Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Referencia cultural + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la invocación + + + + Obtiene el elemento de la matriz estática. + + Nombre de la matriz + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a obtener. Por ejemplo, para acceder a a[10][11], los índices serían {10,11} + + elemento en la ubicación especificada + + + + Establece el miembro de la matriz estática. + + Nombre de la matriz + valor para establecer + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a establecer. Por ejemplo, para acceder a a[10][11], la matriz sería {10,11} + + + + + Obtiene el elemento de la matriz estática. + + Nombre de la matriz + Atributos InvokeHelper adicionales + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a obtener. Por ejemplo, para acceder a a[10][11], la matriz sería {10,11} + + elemento en la ubicación especificada + + + + Establece el miembro de la matriz estática. + + Nombre de la matriz + Atributos InvokeHelper adicionales + valor para establecer + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a establecer. Por ejemplo, para acceder a a[10][11], la matriz sería {10,11} + + + + + Obtiene el campo estático. + + Nombre del campo + El campo estático. + + + + Establece el campo estático. + + Nombre del campo + Argumento para la invocación + + + + Obtiene el campo estático con los atributos InvokeHelper especificados. + + Nombre del campo + Atributos de invocación adicionales + El campo estático. + + + + Establece el campo estático con atributos de enlace. + + Nombre del campo + Atributos InvokeHelper adicionales + Argumento para la invocación + + + + Obtiene la propiedad o el campo estático. + + Nombre del campo o propiedad + El campo o la propiedad estáticos. + + + + Establece la propiedad o el campo estático. + + Nombre del campo o propiedad + Valor que se va a establecer en el campo o la propiedad + + + + Obtiene la propiedad o el campo estático con los atributos InvokeHelper especificados. + + Nombre del campo o propiedad + Atributos de invocación adicionales + El campo o la propiedad estáticos. + + + + Establece la propiedad o el campo estático con atributos de enlace. + + Nombre del campo o propiedad + Atributos de invocación adicionales + Valor que se va a establecer en el campo o la propiedad + + + + Obtiene la propiedad estática. + + Nombre del campo o propiedad + Argumentos para la invocación + La propiedad estática. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Valor que se va a establecer en el campo o la propiedad + Argumentos para pasar al miembro que se va a invocar. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Valor que se va a establecer en el campo o la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + + + + Obtiene la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Argumentos para pasar al miembro que se va a invocar. + La propiedad estática. + + + + Obtiene la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + La propiedad estática. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Valor que se va a establecer en el campo o la propiedad + Valores de índice opcionales para las propiedades indizadas. Los índices de las propiedades indizadas son de base cero. Este valor debe ser NULL para las propiedades no indizadas. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Valor que se va a establecer en el campo o la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Proporciona detección de la signatura de los métodos genéricos. + + + + + Compara las firmas de estos dos métodos. + + Method1 + Method2 + "True" si son similares. + + + + Obtiene la profundidad de jerarquía desde el tipo base del tipo proporcionado. + + El tipo. + La profundidad. + + + + Busca el tipo más derivado con la información proporcionada. + + Coincidencias de candidato. + Número de coincidencias. + El método más derivado. + + + + Dado un conjunto de métodos que coinciden con los criterios base, seleccione un método basado + en una matriz de tipos. Este método debe devolver NULL si no hay ningún método que coincida + con los criterios. + + Especificación de enlace. + Coincidencias de candidato + Tipos + Modificadores de parámetro. + Método coincidente. "Null" si no coincide ninguno. + + + + Busca el método más específico entre los dos métodos proporcionados. + + Método 1 + Orden de parámetros del método 1 + Tipo de matriz de parámetro. + Método 2 + Orden de parámetros del método 2 + >Tipo de matriz de parámetro. + Tipos en los que buscar. + Args. + Un tipo int que representa la coincidencia. + + + + Busca el método más específico entre los dos métodos proporcionados. + + Método 1 + Orden de parámetros del método 1 + Tipo de matriz de parámetro. + Método 2 + Orden de parámetros del método 2 + >Tipo de matriz de parámetro. + Tipos en los que buscar. + Args. + Un tipo int que representa la coincidencia. + + + + Busca el tipo más específico de los dos proporcionados. + + Tipo 1 + Tipo 2 + El tipo de definición + Un tipo int que representa la coincidencia. + + + + Se usa para almacenar información proporcionada a las pruebas unitarias. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene la fila de datos actual cuando la prueba se usa para realizar pruebas controladas por datos. + + + + + Obtiene la fila de conexión de datos actual cuando la prueba se usa para realizar pruebas controladas por datos. + + + + + Obtiene el directorio base para la serie de pruebas, en el que se almacenan los archivos implementados y los archivos de resultados. + + + + + Obtiene el directorio de los archivos implementados para la serie de pruebas. Suele ser un subdirectorio de . + + + + + Obtiene el directorio base para los resultados de la serie de pruebas. Suele ser un subdirectorio de . + + + + + Obtiene el directorio de los archivos de resultados de la serie de pruebas. Suele ser un subdirectorio de . + + + + + Obtiene el directorio de los archivos de resultados de la prueba. + + + + + Obtiene el directorio base para la serie de pruebas donde se almacenan los archivos implementados y los archivos de resultados. + Funciona igual que . Utilice esa propiedad en su lugar. + + + + + Obtiene el directorio de los archivos implementados para la serie de pruebas. Suele ser un subdirectorio de . + Funciona igual que . Utilice esa propiedad en su lugar. + + + + + Obtiene el directorio de los archivos de resultados de la serie de pruebas. Suele ser un subdirectorio de . + Funciona igual que . Utilice esa propiedad para los archivos de resultados de la serie de pruebas o + para los archivos de resultados específicos de cada prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Se usa para escribir mensajes de seguimiento durante la ejecución de la prueba. + + cadena de mensaje con formato + + + + Se usa para escribir mensajes de seguimiento durante la ejecución de la prueba. + + cadena de formato + los argumentos + + + + Agrega un nombre de archivo a la lista en TestResult.ResultFileNames. + + + Nombre del archivo. + + + + + Inicia un temporizador con el nombre especificado. + + Nombre del temporizador. + + + + Finaliza un temporizador con el nombre especificado. + + Nombre del temporizador. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..5b05af93 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..fcb3e3f9 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Contient les littéraux pour les noms de sections, de propriétés et d'attributs. + + + + + Nom de la section de configuration. + + + + + Nom de la section de configuration pour Beta2. Conservé par souci de compatibilité. + + + + + Nom de section pour la source de données. + + + + + Nom d'attribut pour 'Name' + + + + + Nom d'attribut pour 'ConnectionString' + + + + + Nom d'attribut de 'DataAccessMethod' + + + + + Nom d'attribut de 'DataTable' + + + + + Élément de la source de données. + + + + + Obtient ou définit le nom de cette configuration. + + + + + Obtient ou définit l'élément ConnectionStringSettings dans la section <connectionStrings> du fichier .config. + + + + + Obtient ou définit le nom de la table de données. + + + + + Obtient ou définit le type d'accès aux données. + + + + + Obtient le nom de la clé. + + + + + Obtient les propriétés de configuration. + + + + + Collection d'éléments de la source de données. + + + + + Initialise une nouvelle instance de la classe . + + + + + Retourne l'élément de configuration avec la clé spécifiée. + + Clé de l'élément à retourner. + System.Configuration.ConfigurationElement avec la clé spécifiée ; sinon, null. + + + + Obtient l'élément de configuration à l'emplacement d'index spécifié. + + Emplacement d'index du System.Configuration.ConfigurationElement à retourner. + + + + Ajoute un élément de configuration à la collection d'éléments de configuration. + + System.Configuration.ConfigurationElement à ajouter. + + + + Supprime System.Configuration.ConfigurationElement de la collection. + + Le . + + + + Supprime System.Configuration.ConfigurationElement de la collection. + + Clé du System.Configuration.ConfigurationElement à supprimer. + + + + Supprime tous les objets d'éléments de configuration dans la collection. + + + + + Crée . + + Nouveau . + + + + Obtient la clé d'un élément de configuration spécifique. + + System.Configuration.ConfigurationElement dont la clé doit être retournée. + System.Object qui fait office de clé pour le System.Configuration.ConfigurationElement spécifié. + + + + Ajoute un élément de configuration à la collection d'éléments de configuration. + + System.Configuration.ConfigurationElement à ajouter. + + + + Ajoute un élément de configuration à la collection d'éléments de configuration. + + Emplacement d'index où ajouter le System.Configuration.ConfigurationElement spécifié. + System.Configuration.ConfigurationElement à ajouter. + + + + Prise en charge des paramètres de configuration pour les tests. + + + + + Obtient la section de configuration des tests. + + + + + Section de configuration des tests. + + + + + Obtient les sources de données de cette section de configuration. + + + + + Obtient la collection de propriétés. + + + Le des propriétés de l'élément. + + + + + Cette classe représente l'objet INTERNE dynamique NON public dans le système + + + + + Initialise une nouvelle instance de la classe qui contient + l'objet déjà existant de la classe privée + + objet qui sert de point de départ pour atteindre les membres privés + chaîne de déréférencement utilisant . et qui pointe vers l'objet à récupérer, par exemple m_X.m_Y.m_Z + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + Nom de l'assembly + nom complet + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + Nom de l'assembly + nom complet + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres du constructeur à obtenir + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + type d'objet à créer + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + type d'objet à créer + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres du constructeur à obtenir + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper + l'objet donné. + + objet à inclure dans un wrapper + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper + l'objet donné. + + objet à inclure dans un wrapper + Objet PrivateType + + + + Obtient ou définit la cible + + + + + Obtient le type de l'objet sous-jacent + + + + + retourne le code de hachage de l'objet cible + + int représentant le code de hachage de l'objet cible + + + + Est égal à + + Objet à comparer + retourne true si les objets sont égaux. + + + + Appelle la méthode spécifiée + + Nom de la méthode + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Informations sur la culture + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel de méthode + + + + Obtient l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + les indices du tableau + Tableau d'éléments. + + + + Définit l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + Valeur à définir + les indices du tableau + + + + Obtient l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + les indices du tableau + Tableau d'éléments. + + + + Définit l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Valeur à définir + les indices du tableau + + + + Obtient le champ + + Nom du champ + Champ. + + + + Définit le champ + + Nom du champ + valeur à définir + + + + Obtient le champ + + Nom du champ + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Champ. + + + + Définit le champ + + Nom du champ + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + + + + Obtient le champ ou la propriété + + Nom du champ ou de la propriété + Champ ou propriété. + + + + Définit le champ ou la propriété + + Nom du champ ou de la propriété + valeur à définir + + + + Obtient le champ ou la propriété + + Nom du champ ou de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Champ ou propriété. + + + + Définit le champ ou la propriété + + Nom du champ ou de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + + + + Obtient la propriété + + Nom de la propriété + Arguments à passer au membre à appeler. + Propriété. + + + + Obtient la propriété + + Nom de la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + Propriété. + + + + Définit la propriété + + Nom de la propriété + valeur à définir + Arguments à passer au membre à appeler. + + + + Définit la propriété + + Nom de la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + valeur à définir + Arguments à passer au membre à appeler. + + + + Obtient la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Arguments à passer au membre à appeler. + Propriété. + + + + Obtient la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + Propriété. + + + + Définit la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + Arguments à passer au membre à appeler. + + + + Définit la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + + + + Valide la chaîne d'accès + + chaîne d'accès + + + + Appelle le membre + + Nom du membre + Attributs supplémentaires + Arguments de l'appel + Culture + Résultat de l'appel + + + + Extrait la signature de méthode générique la plus appropriée à partir du type privé actuel. + + Nom de la méthode dans laquelle rechercher le cache de signatures. + Tableau de types correspondant aux types des paramètres où effectuer la recherche. + Tableau de types correspondant aux types des arguments génériques. + pour filtrer plus précisément les signatures de méthode. + Modificateurs des paramètres. + Instance de methodinfo. + + + + Cette classe représente une classe privée pour la fonctionnalité d'accesseur private. + + + + + Se lie à tout + + + + + Type inclus dans un wrapper. + + + + + Initialise une nouvelle instance de la classe qui contient le type privé. + + Nom de l'assembly + nom complet de + + + + Initialise une nouvelle instance de la classe qui contient + le type privé de l'objet de type + + Type inclus dans un wrapper à créer. + + + + Obtient le type référencé + + + + + Appelle un membre statique + + Nom du membre InvokeHelper + Arguments de l'appel + Résultat de l'appel + + + + Appelle un membre statique + + Nom du membre InvokeHelper + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Résultat de l'appel + + + + Appelle un membre statique + + Nom du membre InvokeHelper + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Arguments de l'appel + Culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Informations sur la culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Arguments de l'appel + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Arguments de l'appel + Culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + /// Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + /// Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Culture + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel + + + + Obtient l'élément dans le tableau statique + + Nom du tableau + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à obtenir. Par exemple, pour accéder à a[10][11], les indices sont {10,11} + + élément à l'emplacement spécifié + + + + Définit le membre du tableau statique + + Nom du tableau + valeur à définir + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à définir. Par exemple, pour accéder à a[10][11], le tableau est {10,11} + + + + + Obtient l'élément dans le tableau statique + + Nom du tableau + Attributs InvokeHelper supplémentaires + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à obtenir. Par exemple, pour accéder à a[10][11], le tableau est {10,11} + + élément à l'emplacement spécifié + + + + Définit le membre du tableau statique + + Nom du tableau + Attributs InvokeHelper supplémentaires + valeur à définir + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à définir. Par exemple, pour accéder à a[10][11], le tableau est {10,11} + + + + + Obtient le champ static + + Nom du champ + Champ static. + + + + Définit le champ static + + Nom du champ + Argument de l'appel + + + + Obtient le champ static à l'aide des attributs InvokeHelper spécifiés + + Nom du champ + Attributs d'appel supplémentaires + Champ static. + + + + Définit le champ static à l'aide des attributs de liaison + + Nom du champ + Attributs InvokeHelper supplémentaires + Argument de l'appel + + + + Obtient le champ ou la propriété statique + + Nom du champ ou de la propriété + Champ ou propriété statique. + + + + Définit le champ ou la propriété statique + + Nom du champ ou de la propriété + Valeur à affecter au champ ou à la propriété + + + + Obtient le champ ou la propriété statique à l'aide des attributs InvokeHelper spécifiés + + Nom du champ ou de la propriété + Attributs d'appel supplémentaires + Champ ou propriété statique. + + + + Définit le champ ou la propriété statique à l'aide des attributs de liaison + + Nom du champ ou de la propriété + Attributs d'appel supplémentaires + Valeur à affecter au champ ou à la propriété + + + + Obtient la propriété statique + + Nom du champ ou de la propriété + Arguments de l'appel + Propriété statique. + + + + Définit la propriété statique + + Nom de la propriété + Valeur à affecter au champ ou à la propriété + Arguments à passer au membre à appeler. + + + + Définit la propriété statique + + Nom de la propriété + Valeur à affecter au champ ou à la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + + + + Obtient la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Arguments à passer au membre à appeler. + Propriété statique. + + + + Obtient la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + Propriété statique. + + + + Définit la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Valeur à affecter au champ ou à la propriété + Valeurs d'index facultatives pour les propriétés indexées. Les index des propriétés indexées sont de base zéro. Cette valeur doit être null pour les propriétés non indexées. + + + + Définit la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Valeur à affecter au champ ou à la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Arguments de l'appel + Culture + Résultat de l'appel + + + + Fournit la découverte de signatures de méthodes pour les méthodes génériques. + + + + + Compare les signatures de méthode de ces deux méthodes. + + Method1 + Method2 + True en cas de similitude. + + + + Obtient la profondeur de la hiérarchie à partir du type de base du type fourni. + + Type. + Profondeur. + + + + Recherche le type le plus dérivé à l'aide des informations fournies. + + Concordances. + Nombre de correspondances. + Méthode la plus dérivée. + + + + À partir d'un ensemble de méthodes qui correspondent aux critères de base, sélectionnez une méthode + reposant sur un tableau de types. Cette méthode doit retourner une valeur null, si aucune méthode ne correspond + aux critères. + + Spécification de liaison. + Concordances + Types + Modificateurs des paramètres. + Méthode de concordance. Null en l'absence de concordance. + + + + Recherche la méthode la plus spécifique parmi les deux méthodes fournies. + + Méthode 1 + Ordre des paramètres pour la méthode 1 + Type du tableau de paramètres. + Méthode 2 + Ordre des paramètres pour la méthode 2 + >Type du tableau de paramètres. + Types à rechercher. + Args. + Type int représentant la concordance. + + + + Recherche la méthode la plus spécifique parmi les deux méthodes fournies. + + Méthode 1 + Ordre des paramètres pour la méthode 1 + Type du tableau de paramètres. + Méthode 2 + Ordre des paramètres pour la méthode 2 + >Type du tableau de paramètres. + Types à rechercher. + Args. + Type int représentant la concordance. + + + + Recherche le type le plus spécifique parmi les deux types fournis. + + Type 1 + Type 2 + Type de définition + Type int représentant la concordance. + + + + Permet de stocker les informations fournies pour les tests unitaires. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient la ligne de données active quand le test est utilisé pour un test piloté par les données. + + + + + Obtient la ligne de la connexion de données active quand le test est utilisé pour un test piloté par les données. + + + + + Obtient le répertoire de base de la série de tests, sous lequel sont stockés les fichiers déployés et les fichiers de résultats. + + + + + Obtient le répertoire des fichiers déployés pour la série de tests. Généralement, il s'agit d'un sous-répertoire de . + + + + + Obtient le répertoire de base des résultats de la série de tests. Généralement, il s'agit d'un sous-répertoire de . + + + + + Obtient le répertoire des fichiers de résultats des séries de tests. Généralement, il s'agit d'un sous-répertoire de . + + + + + Obtient le répertoire des fichiers de résultats des tests. + + + + + Obtient le répertoire de base de la série de tests, sous lequel sont stockés les fichiers déployés et les fichiers de résultats. + Identique à . Utilisez cette propriété à la place. + + + + + Obtient le répertoire des fichiers déployés pour la série de tests. Généralement, il s'agit d'un sous-répertoire de . + Identique à . Utilisez cette propriété à la place. + + + + + Obtient le répertoire des fichiers de résultats des séries de tests. Généralement, il s'agit d'un sous-répertoire de . + Identique à . Utilisez cette propriété pour les fichiers de résultats des séries de tests, ou + pour les fichiers de résultats des tests spécifiques, à la place. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Permet d'écrire des messages de suivi quand le test est en cours d'exécution + + chaîne de message mise en forme + + + + Permet d'écrire des messages de suivi quand le test est en cours d'exécution + + chaîne de format + arguments + + + + Ajoute un nom de fichier à la liste dans TestResult.ResultFileNames + + + Nom du fichier. + + + + + Démarre un minuteur ayant le nom spécifié + + Nom du minuteur. + + + + Met fin à un minuteur ayant le nom spécifié + + Nom du minuteur. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..2d63dc05 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..d743158b --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Contiene i valori letterali relativi ai nomi di sezioni, proprietà, attributi. + + + + + Nome della sezione di configurazione. + + + + + Nome della sezione della configurazione per Beta2. Opzione lasciata per garantire la compatibilità. + + + + + Nome della sezione per l'origine dati. + + + + + Nome di attributo per 'Name' + + + + + Nome di attributo per 'ConnectionString' + + + + + Nome di attributo per 'DataAccessMethod' + + + + + Nome di attributo per 'DataTable' + + + + + Elemento dell'origine dati. + + + + + Ottiene o imposta il nome di questa configurazione. + + + + + Ottiene o imposta l'elemento ConnectionStringSettings nella sezione <connectionStrings> del file con estensione config. + + + + + Ottiene o imposta il nome della tabella dati. + + + + + Ottiene o imposta il tipo di accesso ai dati. + + + + + Ottiene il nome della chiave. + + + + + Ottiene le proprietà di configurazione. + + + + + Raccolta di elementi dell'origine dati. + + + + + Inizializza una nuova istanza della classe . + + + + + Restituisce l'elemento di configurazione con la chiave specificata. + + Chiave dell'elemento da restituire. + Elemento System.Configuration.ConfigurationElement con la chiave specificata; in caso contrario, Null. + + + + Ottiene l'elemento di configurazione nella posizione di indice specificata. + + Posizione di indice dell'elemento System.Configuration.ConfigurationElement da restituire. + + + + Aggiunge un elemento di configurazione alla raccolta di elementi di configurazione. + + Elemento System.Configuration.ConfigurationElement da aggiungere. + + + + Rimuove un elemento System.Configuration.ConfigurationElement dalla raccolta. + + Elemento . + + + + Rimuove un elemento System.Configuration.ConfigurationElement dalla raccolta. + + Chiave dell'elemento System.Configuration.ConfigurationElement da rimuovere. + + + + Rimuove tutti gli oggetti degli elementi di configurazione dalla raccolta. + + + + + Crea un nuovo oggetto . + + Nuovo elemento . + + + + Ottiene la chiave dell'elemento per un elemento di configurazione specificato. + + Elemento System.Configuration.ConfigurationElement per cui restituire la chiave. + Elemento System.Object che funge da chiave per l'elemento System.Configuration.ConfigurationElement specificato. + + + + Aggiunge un elemento di configurazione alla raccolta di elementi di configurazione. + + Elemento System.Configuration.ConfigurationElement da aggiungere. + + + + Aggiunge un elemento di configurazione alla raccolta di elementi di configurazione. + + Posizione di indice in cui aggiungere l'elemento System.Configuration.ConfigurationElement specificato. + Elemento System.Configuration.ConfigurationElement da aggiungere. + + + + Supporto per le impostazioni di configurazione per Test. + + + + + Ottiene la sezione della configurazione per i test. + + + + + Sezione della configurazione per i test. + + + + + Ottiene le origini dati per questa sezione della configurazione. + + + + + Ottiene la raccolta di proprietà. + + + delle proprietà per l'elemento. + + + + + Questa classe rappresenta l'oggetto INTERNO attivo NON pubblico nel sistema + + + + + Inizializza una nuova istanza della classe che contiene + l'oggetto già esistente della classe privata + + oggetto che funge da punto di partenza per raggiungere i membri privati + stringa di deferenziazione che usa . e punta all'oggetto da recuperare come in m_X.m_Y.m_Z + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + Nome dell'assembly + nome completo + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + Nome dell'assembly + nome completo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al costruttore da ottenere + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + tipo dell'oggetto da creare + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + tipo dell'oggetto da creare + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al costruttore da ottenere + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping + dell'oggetto specificato. + + oggetto di cui eseguire il wrapping + + + + Inizializza una nuova istanza della classe che esegue il wrapping + dell'oggetto specificato. + + oggetto di cui eseguire il wrapping + Oggetto PrivateType + + + + Ottiene o imposta la destinazione + + + + + Ottiene il tipo dell'oggetto sottostante + + + + + restituisce il codice hash dell'oggetto di destinazione + + int che rappresenta il codice hash dell'oggetto di destinazione + + + + È uguale a + + Oggetto con cui eseguire il confronto + restituisce true se gli oggetti sono uguali. + + + + Richiama il metodo specificato + + Nome del metodo + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata al metodo + + + + Ottiene l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + indici della matrice + Matrice di elementi. + + + + Imposta l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + Valore da impostare + indici della matrice + + + + Ottiene l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + indici della matrice + Matrice di elementi. + + + + Imposta l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Valore da impostare + indici della matrice + + + + Ottiene il campo + + Nome del campo + Campo. + + + + Imposta il campo + + Nome del campo + valore da impostare + + + + Ottiene il campo + + Nome del campo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Campo. + + + + Imposta il campo + + Nome del campo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + + + + Ottiene il campo o la proprietà + + Nome del campo o della proprietà + Campo o proprietà. + + + + Imposta il campo o la proprietà + + Nome del campo o della proprietà + valore da impostare + + + + Ottiene il campo o la proprietà + + Nome del campo o della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Campo o proprietà. + + + + Imposta il campo o la proprietà + + Nome del campo o della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + + + + Ottiene la proprietà + + Nome della proprietà + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Ottiene la proprietà + + Nome della proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Imposta la proprietà + + Nome della proprietà + valore da impostare + Argomenti da passare al membro da richiamare. + + + + Imposta la proprietà + + Nome della proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + valore da impostare + Argomenti da passare al membro da richiamare. + + + + Ottiene la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Ottiene la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Imposta la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + Argomenti da passare al membro da richiamare. + + + + Imposta la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + + + + Convalida la stringa di accesso + + stringa di accesso + + + + Richiama il membro + + Nome del membro + Attributi aggiuntivi + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Estrae la firma del metodo generico più appropriata dal tipo privato corrente. + + Nome del metodo in cui cercare la cache delle firme. + Matrice di tipi corrispondenti ai tipi dei parametri in cui eseguire la ricerca. + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + per filtrare ulteriormente le firme del metodo. + Modificatori per i parametri. + Istanza di MethodInfo. + + + + Questa classe rappresenta una classe privata per la funzionalità della funzione di accesso privata. + + + + + Esegue il binding a tutto + + + + + Tipo di cui è stato eseguito il wrapping. + + + + + Inizializza una nuova istanza della classe che contiene il tipo privato. + + Nome dell'assembly + nome completo del + + + + Inizializza una nuova istanza della classe che contiene + il tipo privato dell'oggetto tipo + + Oggetto Type con wrapping da creare. + + + + Ottiene il tipo di riferimento + + + + + Richiama il membro statico + + Nome del membro per InvokeHelper + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il membro statico + + Nome del membro per InvokeHelper + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il membro statico + + Nome del membro per InvokeHelper + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Info su impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + /// Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + /// Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Impostazioni cultura + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata + + + + Ottiene l'elemento nella matrice statica + + Nome della matrice + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da ottenere. Ad esempio, per accedere a a[10][11], gli indici sono {10,11} + + elemento alla posizione specificata + + + + Imposta il membro della matrice statica + + Nome della matrice + valore da impostare + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da impostare. Ad esempio, per accedere a a[10][11], la matrice è {10,11} + + + + + Ottiene l'elemento nella matrice statica + + Nome della matrice + Attributi di InvokeHelper aggiuntivi + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da ottenere. Ad esempio, per accedere a a[10][11], la matrice è {10,11} + + elemento alla posizione specificata + + + + Imposta il membro della matrice statica + + Nome della matrice + Attributi di InvokeHelper aggiuntivi + valore da impostare + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da impostare. Ad esempio, per accedere a a[10][11], la matrice è {10,11} + + + + + Ottiene il campo statico + + Nome del campo + Campo statico. + + + + Imposta il campo statico + + Nome del campo + Argomento della chiamata + + + + Ottiene il campo statico usando gli attributi specificati di InvokeHelper + + Nome del campo + Attributi di chiamata aggiuntivi + Campo statico. + + + + Imposta il campo statico usando gli attributi di binding + + Nome del campo + Attributi di InvokeHelper aggiuntivi + Argomento della chiamata + + + + Ottiene la proprietà o il campo statico + + Nome del campo o della proprietà + Campo o proprietà statica. + + + + Imposta la proprietà o il campo statico + + Nome del campo o della proprietà + Valore da impostare sul campo o sulla proprietà + + + + Ottiene la proprietà o il campo statico usando gli attributi specificati di InvokeHelper + + Nome del campo o della proprietà + Attributi di chiamata aggiuntivi + Campo o proprietà statica. + + + + Imposta la proprietà o il campo statico usando gli attributi di binding + + Nome del campo o della proprietà + Attributi di chiamata aggiuntivi + Valore da impostare sul campo o sulla proprietà + + + + Ottiene la proprietà statica + + Nome del campo o della proprietà + Argomenti della chiamata + Proprietà statica. + + + + Imposta la proprietà statica + + Nome della proprietà + Valore da impostare sul campo o sulla proprietà + Argomenti da passare al membro da richiamare. + + + + Imposta la proprietà statica + + Nome della proprietà + Valore da impostare sul campo o sulla proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + + + + Ottiene la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Argomenti da passare al membro da richiamare. + Proprietà statica. + + + + Ottiene la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + Proprietà statica. + + + + Imposta la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Valore da impostare sul campo o sulla proprietà + Valori di indice facoltativi per le proprietà indicizzate. Gli indici delle proprietà indicizzate sono in base zero. Questo valore deve essere Null per le proprietà non indicizzate. + + + + Imposta la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Valore da impostare sul campo o sulla proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Fornisce l'individuazione della firma del metodo per i metodi generici. + + + + + Confronta le firme di questi due metodi. + + Method1 + Method2 + True se sono simili. + + + + Ottiene la profondità della gerarchia dal tipo di base del tipo fornito. + + Tipo. + Profondità. + + + + Trova il tipo più derivato con le informazioni fornite. + + Corrispondenze possibili. + Numero di corrispondenze. + Metodo più derivato. + + + + Dato un set di metodi corrispondenti ai criteri di base, seleziona un metodo + basato su una matrice di tipi. Questo metodo deve restituire Null se nessun + metodo corrisponde ai criteri. + + Specifica del binding. + Corrispondenze possibili + Tipi + Modificatori di parametro. + Metodo corrispondente. È Null se non ci sono metodi corrispondenti. + + + + Trova il metodo più specifico tra i due metodi forniti. + + Metodo 1 + Ordine dei parametri per il metodo 1 + Tipo della matrice di parametri. + Metodo 2 + Ordine dei parametri per il metodo 2 + >Tipo della matrice di parametri. + Tipi in cui eseguire la ricerca. + Argomenti. + Tipo int che rappresenta la corrispondenza. + + + + Trova il metodo più specifico tra i due metodi forniti. + + Metodo 1 + Ordine dei parametri per il metodo 1 + Tipo della matrice di parametri. + Metodo 2 + Ordine dei parametri per il metodo 2 + >Tipo della matrice di parametri. + Tipi in cui eseguire la ricerca. + Argomenti. + Tipo int che rappresenta la corrispondenza. + + + + Trova il tipo più specifico tra i due tipi forniti. + + Tipo 1 + Tipo 2 + Tipo per la definizione + Tipo int che rappresenta la corrispondenza. + + + + Usata per archiviare le informazioni fornite agli unit test. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene la riga di dati corrente quando il test viene usato per test basati sui dati. + + + + + Ottiene la riga di connessione dati corrente quando il test viene usato per test basati sui dati. + + + + + Ottiene la directory di base per l'esecuzione dei test, in cui vengono archiviati i file distribuiti e i file di risultati. + + + + + Ottiene la directory per i file distribuiti per l'esecuzione dei test. È in genere una sottodirectory di . + + + + + Ottiene la directory di base per i risultati dell'esecuzione dei test. È in genere una sottodirectory di . + + + + + Ottiene la directory per i file di risultati dell'esecuzione dei test. È in genere una sottodirectory di . + + + + + Ottiene la directory per i file di risultati del test. + + + + + Ottiene la directory di base per l'esecuzione dei test, in cui vengono archiviati i file distribuiti e i file di risultati. + Uguale a . In alternativa, usare tale proprietà. + + + + + Ottiene la directory per i file distribuiti per l'esecuzione dei test. È in genere una sottodirectory di . + Uguale a . In alternativa, usare tale proprietà. + + + + + Ottiene la directory per i file di risultati dell'esecuzione dei test. È in genere una sottodirectory di . + Uguale a . In alternativa, usare tale proprietà per i file di risultati dell'esecuzione dei test oppure + per file di risultati specifici del test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Usato per scrivere messaggi di traccia durante l'esecuzione del test + + stringa del messaggio formattato + + + + Usato per scrivere messaggi di traccia durante l'esecuzione del test + + stringa di formato + argomenti + + + + Aggiunge un nome file all'elenco in TestResult.ResultFileNames + + + Nome file. + + + + + Avvia un timer con il nome specificato + + Nome del timer. + + + + Termina un timer con il nome specificato + + Nome del timer. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..d3540c8e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..629a4bc5 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + セクション、プロパティ、属性の名前のリテラルが含まれています。 + + + + + 構成セクション名。 + + + + + Beta2 の構成セクション名。互換性のために残されています。 + + + + + データ ソースのセクション名。 + + + + + 'Name' の属性名 + + + + + 'ConnectionString' の属性名 + + + + + 'DataAccessMethod' の属性名 + + + + + 'DataTable' の属性名 + + + + + データ ソース要素。 + + + + + この構成の名前を取得または設定します。 + + + + + .config ファイルの <connectionStrings> セクションの ConnectionStringSettings 要素を取得または設定します。 + + + + + データ テーブルの名前を取得または設定します。 + + + + + データ アクセスの種類を取得または設定します。 + + + + + キー名を取得します。 + + + + + 構成プロパティを取得します。 + + + + + データ ソース要素コレクション。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定したキーを含む構成要素を返します。 + + 返される要素のキー。 + 指定したキーを持つ System.Configuration.ConfigurationElement。それ以外の場合は、null。 + + + + 指定したインデックスの場所の構成要素を取得します。 + + 返される System.Configuration.ConfigurationElement のインデックスの場所。 + + + + 構成要素を構成要素コレクションに追加します。 + + 追加する System.Configuration.ConfigurationElement。 + + + + コレクションから System.Configuration.ConfigurationElement を削除します。 + + 。 + + + + コレクションから System.Configuration.ConfigurationElement を削除します。 + + 削除する System.Configuration.ConfigurationElement のキー。 + + + + コレクションからすべての構成要素オブジェクトを削除します。 + + + + + 新しい を作成します。 + + 新しい + + + + 指定した構成要素の要素キーを取得します。 + + キーを返す対象の System.Configuration.ConfigurationElement。 + 指定した System.Configuration.ConfigurationElement のキーとして機能する System.Object。 + + + + 構成要素を構成要素コレクションに追加します。 + + 追加する System.Configuration.ConfigurationElement。 + + + + 構成要素を構成要素コレクションに追加します。 + + 指定した System.Configuration.ConfigurationElement を追加するインデックスの場所。 + 追加する System.Configuration.ConfigurationElement。 + + + + テストの構成設定のサポート。 + + + + + テスト用の構成セクションを取得します。 + + + + + テスト用の構成セクション。 + + + + + この構成セクションのデータ ソースを取得します。 + + + + + プロパティのコレクションを取得します。 + + + その (要素のプロパティ)。 + + + + + このクラスは、システム内のパブリックでないライブ内部オブジェクトを表します + + + + + プライベート クラスの既存のオブジェクトを含んでいる + クラスの新しいインスタンスを初期化します + + プライベート メンバーに到達するための開始点となるオブジェクト + m_X.m_Y.m_Z として取得するオブジェクトを指し示す "." を使用する逆参照文字列 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + アセンブリの名前 + 完全修飾名 + コンストラクターに渡す引数 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + アセンブリの名前 + 完全修飾名 + 配列: 取得するコンストラクターのパラメーターの数、順番、型を表すオブジェクト + コンストラクターに渡す引数 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + 作成するオブジェクトの型 + コンストラクターに渡す引数 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + 作成するオブジェクトの型 + 配列: 取得するコンストラクターのパラメーターの数、順番、型を表すオブジェクト + コンストラクターに渡す引数 + + + + 指定されたオブジェクトをラップする クラスの新しいインスタンスを + 初期化します。 + + ラップするオブジェクト + + + + 指定されたオブジェクトをラップする クラスの新しいインスタンスを + 初期化します。 + + ラップするオブジェクト + PrivateType オブジェクト + + + + ターゲットを取得または設定します + + + + + 基になるオブジェクトの型を取得します + + + + + 対象オブジェクトのハッシュ コードを返す + + 対象オブジェクトのハッシュコードを表す int + + + + 次の値と等しい + + 比較対象のオブジェクト + オブジェクトが等しい場合は True を返します。 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + ジェネリック引数の型に対応する型の配列。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + ジェネリック引数の型に対応する型の配列。 + メソッド呼び出しの結果 + + + + 各ディメンションに下付き文字の配列を使用して配列要素を取得する + + メンバーの名前 + 配列のインデックス + 要素の配列。 + + + + 各ディメンションに下付き文字の配列を使用して配列要素を設定する + + メンバーの名前 + 設定する値 + 配列のインデックス + + + + 各ディメンションに下付き文字の配列を使用して配列要素を取得する + + メンバーの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列のインデックス + 要素の配列。 + + + + 各ディメンションに下付き文字の配列を使用して配列要素を設定する + + メンバーの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + 配列のインデックス + + + + フィールドを取得する + + フィールドの名前 + フィールド。 + + + + フィールドを設定する + + フィールドの名前 + 設定する値 + + + + フィールドを取得する + + フィールドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + フィールド。 + + + + フィールドを設定する + + フィールドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + + + + フィールドまたはプロパティを取得する + + フィールドまたはプロパティの名前 + フィールドまたはプロパティ。 + + + + フィールドまたはプロパティを設定する + + フィールドまたはプロパティの名前 + 設定する値 + + + + フィールドまたはプロパティを取得する + + フィールドまたはプロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + フィールドまたはプロパティ。 + + + + フィールドまたはプロパティを設定する + + フィールドまたはプロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + + + + プロパティを取得する + + プロパティの名前 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを取得する + + プロパティの名前 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを設定する + + プロパティの名前 + 設定する値 + 呼び出すメンバーに渡す引数。 + + + + プロパティを設定する + + プロパティの名前 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 設定する値 + 呼び出すメンバーに渡す引数。 + + + + プロパティを取得する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを取得する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを設定する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + 呼び出すメンバーに渡す引数。 + + + + プロパティを設定する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + + + + アクセス文字列を検証する + + アクセス文字列 + + + + メンバーを呼び出す + + メンバーの名前 + 追加の属性 + 呼び出しの引数 + カルチャ + 呼び出しの結果 + + + + 現在のプライベート型から最も適切なジェネリック メソッド シグネチャを抽出します。 + + シグネチャ キャッシュを検索するメソッドの名前。 + 検索対象のパラメーターの型に対応する型の配列。 + ジェネリック引数の型に対応する型の配列。 + メソッド シグネチャをさらにフィルターするため。 + パラメーターの修飾子。 + Methodinfo インスタンス。 + + + + このクラスは、プライベート アクセサー機能のプライベート クラスを表します。 + + + + + すべてにバインドする + + + + + ラップされた型。 + + + + + プライベート型を含む クラスの新しいインスタンスを初期化します。 + + アセンブリ名 + 完全修飾名: + + + + Initializes a new instance of the class that contains + the private type from the type object + + 作成するラップされた型。 + + + + 参照型を取得する + + + + + 静的メンバーを呼び出す + + InvokeHelper に対するメンバーの名前 + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メンバーを呼び出す + + InvokeHelper に対するメンバーの名前 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メンバーを呼び出す + + InvokeHelper に対するメンバーの名前 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + ジェネリック引数の型に対応する型の配列。 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + カルチャ情報 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + /// 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + /// 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + カルチャ + ジェネリック引数の型に対応する型の配列。 + 呼び出しの結果 + + + + 静的配列内の要素を取得する + + 配列の名前 + + 取得する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、インデックスは {10,11} になります + + 指定した場所の要素 + + + + 静的配列のメンバーを設定する + + 配列の名前 + 設定する値 + + 設定する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、配列は {10,11} になります + + + + + 静的配列の要素を取得します + + 配列の名前 + 追加の InvokeHelper 属性 + + 取得する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、配列は {10,11} になります + + 指定した場所の要素 + + + + 静的配列のメンバーを設定する + + 配列の名前 + 追加の InvokeHelper 属性 + 設定する値 + + 設定する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、配列は {10,11} になります + + + + + 静的フィールドを取得する + + フィールドの名前 + 静的フィールド。 + + + + 静的フィールドを設定する + + フィールドの名前 + 呼び出しに対する引数 + + + + 指定した InvokeHelper 属性を使用して静的フィールドを取得する + + フィールドの名前 + 追加の呼び出し属性 + 静的フィールド。 + + + + バインド属性を使用して静的フィールドを設定する + + フィールドの名前 + 追加の InvokeHelper 属性 + 呼び出しに対する引数 + + + + 静的フィールドまたは静的プロパティを取得する + + フィールドまたはプロパティの名前 + 静的フィールドまたはプロパティ。 + + + + 静的フィールドまたは静的プロパティを設定する + + フィールドまたはプロパティの名前 + フィールドまたはプロパティに設定する値 + + + + 指定した InvokeHelper 属性を使用して、静的フィールドまたは静的プロパティを取得する + + フィールドまたはプロパティの名前 + 追加の呼び出し属性 + 静的フィールドまたはプロパティ。 + + + + バインド属性を使用して、静的フィールドまたは静的プロパティを設定する + + フィールドまたはプロパティの名前 + 追加の呼び出し属性 + フィールドまたはプロパティに設定する値 + + + + 静的プロパティを取得する + + フィールドまたはプロパティの名前 + 呼び出しに対する引数 + 静的プロパティ。 + + + + 静的プロパティを設定する + + プロパティの名前 + フィールドまたはプロパティに設定する値 + 呼び出すメンバーに渡す引数。 + + + + 静的プロパティを設定する + + プロパティの名前 + フィールドまたはプロパティに設定する値 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + + + + 静的プロパティを取得する + + プロパティの名前 + 追加の呼び出し属性。 + 呼び出すメンバーに渡す引数。 + 静的プロパティ。 + + + + 静的プロパティを取得する + + プロパティの名前 + 追加の呼び出し属性。 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + 静的プロパティ。 + + + + 静的プロパティを設定する + + プロパティの名前 + 追加の呼び出し属性。 + フィールドまたはプロパティに設定する値 + インデックス付きプロパティのオプションのインデックス値。インデックス付きプロパティのインデックスは 0 から始まります。インデックスのないプロパティについては、この値は null である必要があります。 + + + + 静的プロパティを設定する + + プロパティの名前 + 追加の呼び出し属性。 + フィールドまたはプロパティに設定する値 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + ジェネリック メソッドのメソッド シグネチャを検出します。 + + + + + これらの 2 つのメソッドのメソッド シグネチャを比較します。 + + Method1 + Method2 + 類似している場合は True。 + + + + 指定した型の基本データ型から階層の深さを取得します。 + + 型。 + 深さ。 + + + + 指定された情報を使用して最派生型を検索します。 + + 候補の一致。 + 一致の数。 + 最派生メソッド。 + + + + 基本条件に一致するメソッドのセットを指定して、型の配列に + 基づいてメソッドを選択します。条件に + 一致するメソッドがない場合、このメソッドは null を返します。 + + バインドの指定。 + 候補の一致 + 型 + パラメーター修飾子。 + 一致するメソッド。一致が見つからない場合は null。 + + + + 指定されている 2 つのメソッドのうち、より特定性の高いメソッドを判別します。 + + メソッド 1 + メソッド 1 のパラメーターの順序 + パラメーターの配列型。 + メソッド 2 + メソッド 2 のパラメーターの順序 + >パラメーターの配列型。 + 検索する型。 + 引数。 + 一致を表す int。 + + + + 指定されている 2 つのメソッドのうち、より特定性の高いメソッドを判別します。 + + メソッド 1 + メソッド 1 のパラメーターの順序 + パラメーターの配列型。 + メソッド 2 + メソッド 2 のパラメーターの順序 + >パラメーターの配列型。 + 検索する型。 + 引数。 + 一致を表す int。 + + + + 指定されている 2 つのうち、より特定性の高い型を判別します。 + + 型 1 + 型 2 + 定義する型 + 一致を表す int。 + + + + 単体テストに提供される情報を保存するために使用されます。 + + + + + テストのテスト プロパティを取得します。 + + + + + テストがデータ ドリブン テストで使用されるときに現在のデータ行を取得します。 + + + + + テストがデータ ドリブン テストで使用されるときに現在のデータ接続行を取得します。 + + + + + テストの実行の基本ディレクトリを取得します。配置されたファイルと結果ファイルはそのディレクトリに格納されます。 + + + + + テストの実行のために配置されたファイルのディレクトリを取得します。通常は、 のサブディレクトリです。 + + + + + テストの実行の結果の基本ディレクトリを取得します。通常は、 のサブディレクトリです。 + + + + + テストの実行の結果ファイル用のディレクトリを取得します。通常は、 のサブディレクトリです。 + + + + + テスト結果ファイルのディレクトリを取得します。 + + + + + テストの実行の基本ディレクトリを取得します。配置されたファイルと結果ファイルはそのディレクトリに格納されます。 + と同じであり、代わりにそのプロパティをご使用ください。 + + + + + テストの実行のために配置されたファイルのディレクトリを取得します。通常は、 のサブディレクトリです。 + と同じであり、代わりにそのプロパティをご使用ください。 + + + + + テストの実行の結果ファイル用のディレクトリを取得します。通常は、 のサブディレクトリです。 + と同じであり、テストの実行の結果ファイルのそのプロパティを使用するか、 + その代わりにテスト固有の結果ファイルの をご使用ください。 + + + + + 現在実行されているテスト メソッドを含むクラスの完全修飾名を取得します + + + + + 現在実行中のテスト メソッドの名前を取得します + + + + + 現在のテスト成果を取得します。 + + + + + テストの実行中にトレース メッセージを書き込むために使用されます + + 書式設定されたメッセージ文字列 + + + + テストの実行中にトレース メッセージを書き込むために使用されます + + 書式設定文字列 + 引数 + + + + TestResult.ResultFileNames の一覧にファイル名を追加する + + + ファイル名。 + + + + + 指定した名前のタイマーを開始する + + タイマーの名前。 + + + + 指定した名前のタイマーを終了する + + タイマーの名前。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..922b5b17 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..621cef02 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + 섹션, 속성, 특성의 이름에 대한 리터럴을 포함합니다. + + + + + 구성 섹션 이름입니다. + + + + + Beta2의 구성 섹션 이름입니다. 호환성을 위해 남겨둡니다. + + + + + 데이터 소스의 섹션 이름입니다. + + + + + 'Name'의 특성 이름 + + + + + 'ConnectionString'의 특성 이름 + + + + + 'DataAccessMethod'의 특성 이름 + + + + + 'DataTable'의 특성 이름 + + + + + 데이터 소스 요소입니다. + + + + + 이 구성의 이름을 가져오거나 설정합니다. + + + + + .config 파일에서 <connectionStrings> 섹션의 ConnectionStringSettings 요소를 가져오거나 설정합니다. + + + + + 데이터 테이블의 이름을 가져오거나 설정합니다. + + + + + 데이터 액세스의 형식을 가져오거나 설정합니다. + + + + + 키 이름을 가져옵니다. + + + + + 구성 속성을 가져옵니다. + + + + + 데이터 소스 요소 컬렉션입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정한 키와 함께 구성 요소를 반환합니다. + + 반환할 요소의 키입니다. + 지정한 키가 있는 System.Configuration.ConfigurationElement입니다. 그렇지 않은 경우 null입니다. + + + + 지정한 인덱스 위치에서 구성 요소를 가져옵니다. + + 반환할 System.Configuration.ConfigurationElement의 인덱스 위치입니다. + + + + 구성 요소 컬렉션에 구성 요소를 추가합니다. + + 추가할 System.Configuration.ConfigurationElement입니다. + + + + 컬렉션에서 System.Configuration.ConfigurationElement를 제거합니다. + + . + + + + 컬렉션에서 System.Configuration.ConfigurationElement를 제거합니다. + + 제거할 System.Configuration.ConfigurationElement의 키입니다. + + + + 컬렉션에서 모든 구성 요소 개체를 제거합니다. + + + + + 새 을(를) 만듭니다. + + . + + + + 지정한 구성 요소의 요소 키를 가져옵니다. + + 키를 반환할 System.Configuration.ConfigurationElement입니다. + 지정한 System.Configuration.ConfigurationElement의 키로 작동하는 System.Object입니다. + + + + 구성 요소 컬렉션에 구성 요소를 추가합니다. + + 추가할 System.Configuration.ConfigurationElement입니다. + + + + 구성 요소 컬렉션에 구성 요소를 추가합니다. + + 지정한 System.Configuration.ConfigurationElement를 추가할 인덱스 위치입니다. + 추가할 System.Configuration.ConfigurationElement입니다. + + + + 테스트에 대한 구성 설정을 지원합니다. + + + + + 테스트에 대한 구성 섹션을 가져옵니다. + + + + + 테스트에 대한 구성 섹션입니다. + + + + + 이 구성 섹션의 데이터 소스를 가져옵니다. + + + + + 속성의 컬렉션을 가져옵니다. + + + 요소의 속성입니다. + + + + + 이 클래스는 시스템에 있는 public이 아닌 라이브 내부 개체를 나타냅니다. + + + + + private 클래스의 이미 존재하는 개체를 포함하는 클래스의 + 새 인스턴스를 초기화합니다. + + 전용 멤버에 도달하기 위한 시작 지점 역할을 하는 개체 + m_X.m_Y.m_Z 형식으로 검색할 개체를 가리키는 마침표(.)를 사용하는 역참조 문자열 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 어셈블리의 이름 + 정규화된 이름 + 생성자에 전달할 인수 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 어셈블리의 이름 + 정규화된 이름 + 다음의 배열: 가져올 생성자에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 생성자에 전달할 인수 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 만들 개체의 형식 + 생성자에 전달할 인수 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 만들 개체의 형식 + 다음의 배열: 가져올 생성자에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 생성자에 전달할 인수 + + + + 지정된 개체를 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 래핑할 개체 + + + + 지정된 개체를 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 래핑할 개체 + PrivateType 개체 + + + + 대상을 가져오거나 설정합니다. + + + + + 기본 개체의 형식을 가져옵니다. + + + + + 은(는) 대상 개체의 해시 코드를 반환합니다. + + 대상 개체의 해시 코드를 나타내는 INT + + + + 같음 + + 비교할 개체 + 개체가 같은 경우 true를 반환합니다. + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 제네릭 인수의 형식에 해당하는 형식의 배열. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 제네릭 인수의 형식에 해당하는 형식의 배열. + 메서드 호출의 결과 + + + + 각 차원에 대한 첨자 배열을 사용하여 배열 요소를 가져옵니다 + + 멤버의 이름 + 구성된 비트마스크 + 요소의 배열입니다. + + + + 각 차원에 대해 첨자의 배열을 사용하여 배열 요소를 설정합니다. + + 멤버의 이름 + 설정할 값 + 구성된 비트마스크 + + + + 각 차원에 대한 첨자 배열을 사용하여 배열 요소를 가져옵니다 + + 멤버의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 구성된 비트마스크 + 요소의 배열입니다. + + + + 각 차원에 대해 첨자의 배열을 사용하여 배열 요소를 설정합니다. + + 멤버의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + 구성된 비트마스크 + + + + 필드를 가져옵니다. + + 필드의 이름 + 필드입니다. + + + + 필드를 설정합니다. + + 필드의 이름 + 설정할 값 + + + + 필드를 가져옵니다. + + 필드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 필드입니다. + + + + 필드를 설정합니다. + + 필드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + + + + 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 필드 또는 속성입니다. + + + + 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 설정할 값 + + + + 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 필드 또는 속성입니다. + + + + 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + + + + 속성을 가져옵니다 + + 속성의 이름 + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 가져옵니다 + + 속성의 이름 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 설정합니다. + + 속성의 이름 + 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 속성을 설정합니다. + + 속성의 이름 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 속성을 가져옵니다 + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 가져옵니다 + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 설정합니다. + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 속성을 설정합니다. + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + + + + 액세스 문자열의 유효성을 검사합니다. + + 액세스 문자열 + + + + 멤버를 호출합니다. + + 멤버의 이름 + 추가 특성 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 현재 private 형식에서 가장 적절한 제네릭 메서드 시그니처를 추출합니다. + + 서명 캐시를 검색할 메서드의 이름. + 검색할 매개 변수의 형식에 해당하는 형식의 배열. + 제네릭 인수의 형식에 해당하는 형식의 배열. + 메서드 서명을 추가로 필터링. + 매개 변수에 대한 한정자입니다. + methodinfo 인스턴스입니다. + + + + 이 클래스는 전용 접근자 기능에 대한 private 클래스를 나타냅니다. + + + + + 모든 것에 바인딩됩니다. + + + + + 래핑된 형식입니다. + + + + + private 형식을 포함하는 클래스의 새 인스턴스를 초기화합니다. + + 어셈블리 이름 + 다음의 정규화된 이름: + + + + Initializes a new instance of the class that contains + the private type from the type object + + 만들어야 할 래핑된 형식. + + + + 참조된 형식을 가져옵니다. + + + + + 정적 멤버를 호출합니다. + + InvokeHelper에 대한 멤버의 이름 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 멤버를 호출합니다. + + InvokeHelper에 대한 멤버의 이름 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 멤버를 호출합니다. + + InvokeHelper에 대한 멤버의 이름 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 제네릭 인수의 형식에 해당하는 형식의 배열. + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 문화권 정보 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + /// 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + /// 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 문화권 + 제네릭 인수의 형식에 해당하는 형식의 배열. + 호출의 결과 + + + + 정적 배열의 요소를 가져옵니다. + + 배열의 이름 + + 가져올 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 인덱스는 {10,11}이 됩니다. + + 지정된 위치의 요소 + + + + 정적 배열의 멤버를 설정합니다. + + 배열의 이름 + 설정할 값 + + 설정할 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 배열은 {10,11}이 됩니다. + + + + + 정적 배열의 요소를 가져옵니다. + + 배열의 이름 + 추가 InvokeHelper 특성 + + 가져올 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 배열은 {10,11}이 됩니다. + + 지정된 위치의 요소 + + + + 정적 배열의 멤버를 설정합니다. + + 배열의 이름 + 추가 InvokeHelper 특성 + 설정할 값 + + 설정할 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 배열은 {10,11}이 됩니다. + + + + + 정적 필드를 가져옵니다. + + 필드의 이름 + 정적 필드입니다. + + + + 정적 필드를 설정합니다. + + 필드의 이름 + 호출에 대한 인수 + + + + 지정된 InvokeHelper 특성을 사용하여 정적 필드를 가져옵니다. + + 필드의 이름 + 추가 호출 특성 + 정적 필드입니다. + + + + 바인딩 특성을 사용하여 정적 필드를 설정합니다. + + 필드의 이름 + 추가 InvokeHelper 특성 + 호출에 대한 인수 + + + + 정적 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 정적 필드 또는 속성입니다. + + + + 정적 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 필드나 속성에 대해 설정할 값 + + + + 지정된 InvokeHelper 특성을 사용하여 정적 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 추가 호출 특성 + 정적 필드 또는 속성입니다. + + + + 바인딩 특성을 사용하여 정적 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 추가 호출 특성 + 필드나 속성에 대해 설정할 값 + + + + 정적 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 호출에 대한 인수 + 정적 속성입니다. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 필드나 속성에 대해 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 필드나 속성에 대해 설정할 값 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + + + + 정적 속성을 가져옵니다. + + 속성의 이름 + 추가 호출 특성. + 호출할 멤버에 전달하기 위한 인수. + 정적 속성입니다. + + + + 정적 속성을 가져옵니다. + + 속성의 이름 + 추가 호출 특성. + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 정적 속성입니다. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 추가 호출 특성. + 필드나 속성에 대해 설정할 값 + 인덱싱된 속성을 위한 선택적인 인덱스 값. 인덱싱된 속성의 인덱스는 0부터 시작합니다. 인덱싱되지 않은 속성에 대해서는 이 값이 null이어야 합니다. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 추가 호출 특성. + 필드나 속성에 대해 설정할 값 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 제네릭 메서드에 대한 메서드 시그니처 검색을 제공합니다. + + + + + 이 두 메서드의 메서드 시그니처를 비교합니다. + + Method1 + Method2 + 비슷한 경우 True입니다. + + + + 제공된 형식의 기본 형식에서 계층 구조 수준을 가져옵니다. + + 형식입니다. + 깊이입니다. + + + + 제공된 정보를 사용하여 가장 많이 파생된 형식을 찾습니다. + + 후보 일치 항목입니다. + 일치 항목 수입니다. + 가장 많이 파생된 메서드입니다. + + + + 기본 기준과 일치하는 메서드의 집합을 고려하여 형식 배열을 기반으로 + 메서드를 선택하세요. 기준과 일치하는 메서드가 없으면 이 메서드는 + Null을 반환합니다. + + 바인딩 사양입니다. + 후보 일치 항목 + 형식 + 매개 변수 한정자입니다. + 일치하는 메서드입니다. 일치 항목이 없는 경우 null입니다. + + + + 제공된 두 메서드에서 가장 한정적인 메서드를 찾습니다. + + 메서드 1 + 메서드 1에 대한 매개 변수 순서 + 매개 변수 배열 형식입니다. + 메서드 2 + 메서드 2에 대한 매개 변수 순서 + >매개 변수 배열 형식입니다. + 검색할 형식입니다. + Args. + 일치를 나타내는 int입니다. + + + + 제공된 두 메서드에서 가장 한정적인 메서드를 찾습니다. + + 메서드 1 + 메서드 1에 대한 매개 변수 순서 + 매개 변수 배열 형식입니다. + 메서드 2 + 메서드 2에 대한 매개 변수 순서 + >매개 변수 배열 형식입니다. + 검색할 형식입니다. + Args. + 일치를 나타내는 int입니다. + + + + 제공된 두 형식 중 가장 한정적인 형식을 찾습니다. + + 형식 1 + 형식 2 + 정의하는 형식 + 일치를 나타내는 int입니다. + + + + 단위 테스트에 제공되는 정보를 저장하는 데 사용됩니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 테스트가 데이터 기반 테스트에 사용될 때 현재 데이터 행을 가져옵니다. + + + + + 테스트가 데이터 기반 테스트에 사용될 때 현재 데이터 연결 행을 가져옵니다. + + + + + 배포된 파일 및 결과 파일이 저장되는, 테스트 실행에 대한 기본 디렉터리를 가져옵니다. + + + + + 테스트 실행을 위해 배포되는 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + + + + + 테스트 실행의 결과에 대한 기본 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + + + + + 테스트 실행 결과 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + + + + + 테스트 결과 파일의 디렉터리를 가져옵니다. + + + + + 배포된 파일 및 결과 파일이 저장되는, 테스트 실행에 대한 기본 디렉터리를 가져옵니다. + 과(와) 같습니다. 해당 속성을 대신 사용하세요. + + + + + 테스트 실행에 대해 배포되는 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + 과(와) 같습니다. 해당 속성을 대신 사용하세요. + + + + + 테스트 실행 결과 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + 과(와) 같습니다. 테스트 실행 결과 파일의 해당 속성 또는 테스트 관련 결과 파일의 + 을(를) 대신 사용하세요. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + 테스트 실행 중에 추적 메시지를 쓰는 데 사용됩니다. + + 형식이 지정된 메시지 문자열 + + + + 테스트 실행 중에 추적 메시지를 쓰는 데 사용됩니다. + + 서식 문자열 + 인수 + + + + TestResult.ResultFileNames의 목록에 파일 이름을 추가합니다. + + + 파일 이름. + + + + + 지정된 이름으로 타이머를 시작합니다. + + 타이머의 이름입니다. + + + + 지정된 이름의 타이머를 종료합니다. + + 타이머의 이름입니다. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..22e769ac --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..ec600830 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Zawiera literały nazw sekcji, właściwości, atrybutów. + + + + + Nazwa sekcji konfiguracji. + + + + + Nazwa sekcji konfiguracji dla Beta2. Pozostawiona w celu zapewnienia zgodności. + + + + + Nazwa sekcji dla źródła danych. + + + + + Nazwa atrybutu dla parametru „Name” + + + + + Nazwa atrybutu dla parametru „ConnectionString” + + + + + Nazwa atrybutu dla parametru „DataAccessMethod” + + + + + Nazwa atrybutu dla parametru „DataTable” + + + + + Element źródła danych. + + + + + Pobiera lub ustawia nazwę tej konfiguracji. + + + + + Pobiera lub ustawia element ConnectionStringSettings w sekcji <connectionStrings> w pliku config. + + + + + Pobiera lub ustawia nazwę tabeli danych. + + + + + Pobiera lub ustawia typ dostępu do danych. + + + + + Pobiera nazwę klucza. + + + + + Pobiera właściwości konfiguracji. + + + + + Kolekcja elementów źródła danych. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Zwraca element konfiguracji z określonym kluczem. + + Klucz elementu do zwrócenia. + Element System.Configuration.ConfigurationElement z określonym kluczem; w przeciwnym razie wartość null. + + + + Pobiera element konfiguracji pod określoną lokalizacją w indeksie. + + Lokalizacja w indeksie elementu System.Configuration.ConfigurationElement do zwrócenia. + + + + Dodaje element konfiguracji do kolekcji elementów konfiguracji. + + Element System.Configuration.ConfigurationElement do dodania. + + + + Usuwa element System.Configuration.ConfigurationElement z kolekcji. + + . + + + + Usuwa element System.Configuration.ConfigurationElement z kolekcji. + + Klucz elementu System.Configuration.ConfigurationElement do usunięcia. + + + + Usuwa wszystkie obiekty elementów konfiguracji z kolekcji. + + + + + Tworzy nowy element . + + Nowy element. + + + + Pobiera klucz elementu dla określnego elementu konfiguracji. + + Element System.Configuration.ConfigurationElement, dla którego ma zostać zwrócony klucz. + Element System.Object działający jako klucz dla określonego elementu System.Configuration.ConfigurationElement. + + + + Dodaje element konfiguracji do kolekcji elementów konfiguracji. + + Element System.Configuration.ConfigurationElement do dodania. + + + + Dodaje element konfiguracji do kolekcji elementów konfiguracji. + + Lokalizacja w indeksie, pod którą ma zostać dodany określony element System.Configuration.ConfigurationElement. + Element System.Configuration.ConfigurationElement do dodania. + + + + Obsługa ustawień konfiguracji na potrzeby testów. + + + + + Pobiera sekcję konfiguracji dla testów. + + + + + Sekcja konfiguracji dla testów. + + + + + Pobiera źródła danych dla tej sekcji konfiguracji. + + + + + Pobiera kolekcję właściwości. + + + Element właściwości dla elementu. + + + + + Ta klasa reprezentuje rzeczywisty NIEPUBLICZNY obiekt WEWNĘTRZNY w systemie + + + + + Inicjuje nowe wystąpienie klasy , które zawiera + już istniejący obiekt klasy prywatnej + + obiekt służący jako punkt początkowy na potrzeby dostępu do prywatnych elementów członkowskich + ciąg wyłuskujący używający elementu . wskazującego obiekt do pobrania, jak w wyrażeniu m_X.m_Y.m_Z + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + Nazwa zestawu + w pełni kwalifikowana nazwa + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + Nazwa zestawu + w pełni kwalifikowana nazwa + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla konstruktora do pobrania + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + typ obiektu do utworzenia + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + typ obiektu do utworzenia + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla konstruktora do pobrania + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony obiekt. + + obiekt do opakowania + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony obiekt. + + obiekt do opakowania + Obiekt PrivateType + + + + Pobiera lub ustawia element docelowy + + + + + Pobiera typ obiektu bazowego + + + + + zwraca wartość skrótu docelowego obiektu + + wartość typu int reprezentująca wartość skrótu docelowego obiektu + + + + Jest równe + + Obiekt, z którym ma zostać wykonane porównanie + zwraca wartość true, jeśli obiekty są równe. + + + + Wywołuje określoną metodę + + Nazwa metody + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania metody + + + + Pobiera element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + indeksy tablicy + Tablica elementów. + + + + Ustawia element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + Wartość do ustawienia + indeksy tablicy + + + + Pobiera element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + indeksy tablicy + Tablica elementów. + + + + Ustawia element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Wartość do ustawienia + indeksy tablicy + + + + Pobierz pole + + Nazwa pola + Pole. + + + + Ustawia pole + + Nazwa pola + wartość do ustawienia + + + + Pobiera pole + + Nazwa pola + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Pole. + + + + Ustawia pole + + Nazwa pola + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + + + + Pobierz pole lub właściwość + + Nazwa pola lub właściwości + Pole lub właściwość. + + + + Ustawia pole lub właściwość + + Nazwa pola lub właściwości + wartość do ustawienia + + + + Pobiera pole lub właściwość + + Nazwa pola lub właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Pole lub właściwość. + + + + Ustawia pole lub właściwość + + Nazwa pola lub właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + + + + Pobiera właściwość + + Nazwa właściwości + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Pobiera właściwość + + Nazwa właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Ustaw właściwość + + Nazwa właściwości + wartość do ustawienia + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Ustaw właściwość + + Nazwa właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + wartość do ustawienia + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Pobiera właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Pobiera właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Ustawia właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Ustawia właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Zweryfikuj ciąg dostępu + + ciąg dostępu + + + + Wywołuje element członkowski + + Nazwa elementu członkowskiego + Dodatkowe atrybuty + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wyodrębnia najbardziej odpowiednią sygnaturę metody ogólnej z bieżącego typu prywatnego. + + Nazwa metody przeszukującej pamięć podręczną sygnatur. + Tablica typów odpowiadających typom przeszukiwanych parametrów. + Tablica typów odpowiadających typom argumentów ogólnych. + , aby bardziej szczegółowo filtrować sygnatury metod. + Modyfikatory dla parametrów. + Wystąpienie elementu methodinfo. + + + + Ta klasa reprezentuje klasę prywatną dla funkcjonalności prywatnej metody dostępu. + + + + + Wiąże się z każdym elementem + + + + + Opakowany typ. + + + + + Inicjuje nowe wystąpienie klasy , które zawiera typ prywatny. + + Nazwa zestawu + w pełni kwalifikowana nazwa + + + + Inicjuje nowe wystąpienie klasy , które zawiera + typ prywatny z obiektu typu + + Opakowany typ do utworzenia. + + + + Pobiera przywoływany typ + + + + + Wywołuje statyczny element członkowski + + Nazwa elementu członkowskiego dla elementu InvokeHelper + Argumenty wywołania + Wynik wywołania + + + + Wywołuje statyczny element członkowski + + Nazwa elementu członkowskiego dla elementu InvokeHelper + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Wynik wywołania + + + + Wywołuje statyczny element członkowski + + Nazwa elementu członkowskiego dla elementu InvokeHelper + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Informacje o kulturze + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Argumenty wywołania + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + /// Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + /// Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Kultura + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania + + + + Pobiera element w tablicy statycznej + + Nazwa tablicy + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do pobrania. Przykładowo aby uzyskać dostęp do elementu a[10][11], indeksem będzie {10,11} + + element w określonej lokalizacji + + + + Ustawia element członkowski tablicy statycznej + + Nazwa tablicy + wartość do ustawienia + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do ustawienia. Przykładowo aby uzyskać dostęp do elementu a[10][11], tablicą będzie {10,11} + + + + + Pobiera element z tablicy statycznej + + Nazwa tablicy + Dodatkowe atrybuty elementu InvokeHelper + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do pobrania. Przykładowo aby uzyskać dostęp do elementu a[10][11], tablicą będzie {10,11} + + element w określonej lokalizacji + + + + Ustawia element członkowski tablicy statycznej + + Nazwa tablicy + Dodatkowe atrybuty elementu InvokeHelper + wartość do ustawienia + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do ustawienia. Przykładowo aby uzyskać dostęp do elementu a[10][11], tablicą będzie {10,11} + + + + + Pobiera pole statyczne + + Nazwa pola + Pole statyczne. + + + + Ustawia pole statyczne + + Nazwa pola + Argument wywołania + + + + Pobiera pole statyczne za pomocą określonych atrybutów elementu InvokeHelper + + Nazwa pola + Dodatkowe atrybuty wywołania + Pole statyczne. + + + + Ustawia pole statyczne za pomocą atrybutów powiązania + + Nazwa pola + Dodatkowe atrybuty elementu InvokeHelper + Argument wywołania + + + + Pobiera pole statyczne lub właściwość + + Nazwa pola lub właściwości + Statyczne pole lub właściwość. + + + + Ustawia pole statyczne lub właściwość + + Nazwa pola lub właściwości + Wartość do ustawienia dla pola lub właściwości + + + + Pobiera pole statyczne lub właściwość za pomocą określonych atrybutów elementu InvokeHelper + + Nazwa pola lub właściwości + Dodatkowe atrybuty wywołania + Statyczne pole lub właściwość. + + + + Ustawia pole statyczne lub właściwość za pomocą atrybutów powiązania + + Nazwa pola lub właściwości + Dodatkowe atrybuty wywołania + Wartość do ustawienia dla pola lub właściwości + + + + Pobiera właściwość statyczną + + Nazwa pola lub właściwości + Argumenty wywołania + Właściwość statyczna. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Wartość do ustawienia dla pola lub właściwości + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Wartość do ustawienia dla pola lub właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Pobiera właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość statyczna. + + + + Pobiera właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość statyczna. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Wartość do ustawienia dla pola lub właściwości + Opcjonalne wartości indeksu dla właściwości indeksowanych. Indeksy właściwości indeksowanych są liczone od zera. W przypadku właściwości nieindeksowanych powinna to być wartość null. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Wartość do ustawienia dla pola lub właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Argumenty wywołania + Kultura + Wynik wywołania + + + + Udostępnia odnajdywanie podpisu metody dla metod ogólnych. + + + + + Porównuje sygnatury tych dwóch metod. + + Method1 + Method2 + Ma wartość true, jeśli są one podobne. + + + + Pobiera głębokość hierarchii z typu podstawowego podanego typu. + + Typ. + Głębokość. + + + + Znajduje najbardziej pochodny typ z podanymi informacjami. + + Dopasowania kandydatów. + Liczba dopasowań. + Najbardziej pochodna metoda. + + + + Za pomocą podanego zbioru metod pasujących do podstawowych kryteriów wybierz metodę + opartą na tablicy typów. Ta metoda powinna zwracać wartość null, jeśli żadna metoda + nie pasuje do kryteriów. + + Specyfikacja powiązania. + Dopasowania kandydatów + Typy + Modyfikatory parametrów. + Zgodna metoda. Null, jeśli brak zgodności. + + + + Znajduje najbardziej specyficzną metodę spośród dwóch podanych metod. + + Metoda 1 + Kolejność parametrów dla metody 1 + Typ tablicy parametrów. + Metoda 2 + Kolejność parametrów dla metody 2 + >Typ tablicy parametrów. + Typy do przeszukania. + Argumenty. + Wartość int reprezentująca dopasowanie. + + + + Znajduje najbardziej specyficzną metodę spośród dwóch podanych metod. + + Metoda 1 + Kolejność parametrów dla metody 1 + Typ tablicy parametrów. + Metoda 2 + Kolejność parametrów dla metody 2 + >Typ tablicy parametrów. + Typy do przeszukania. + Argumenty. + Wartość int reprezentująca dopasowanie. + + + + Znajduje najbardziej specyficzny typ spośród dwóch podanych. + + Typ 1 + Typ 2 + Typ definiujący + Wartość int reprezentująca dopasowanie. + + + + Używane do przechowywania informacji udostępnianych testom jednostkowym. + + + + + Pobiera właściwości testu. + + + + + Pobiera bieżący wiersz danych, gdy test służy do testowania opartego na danych. + + + + + Pobiera bieżący wiersz połączenia danych, gdy test służy do testowania opartego na danych. + + + + + Pobiera katalog podstawowy dla uruchomienia testu, w którym są przechowywane wdrożone pliki i pliki wyników. + + + + + Pobiera katalog dla plików wdrożonych na potrzeby uruchomienia testu. Zazwyczaj jest to podkatalog . + + + + + Pobiera katalog podstawowy dla wyników uruchomienia testu. Zazwyczaj jest to podkatalog . + + + + + Pobiera katalog dla plików wyników uruchomienia testu. Zazwyczaj jest to podkatalog . + + + + + Pobiera katalog dla plików wyników testu. + + + + + Pobiera katalog podstawowy dla uruchomienia testu, w którym są przechowywane wdrożone pliki i pliki wyników. + Taki sam jak . Zamiast tego użyj tej właściwości. + + + + + Pobiera katalog dla plików wdrożonych na potrzeby uruchomienia testu. Zazwyczaj jest to podkatalog . + Taki sam jak . Zamiast tego użyj tej właściwości. + + + + + Pobiera katalog dla plików wyników uruchomienia testu. Zazwyczaj jest to podkatalog . + Taki sam jak . Użyj tej właściwości dla plików wyników uruchomienia testu lub zamiast tego użyj katalogu + dla plików wyników specyficznych dla testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej metodę testowania, która jest obecnie wykonywana + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Używane do zapisywania komunikatów śledzenia podczas działania testu + + ciąg sformatowanego komunikatu + + + + Używane do zapisywania komunikatów śledzenia podczas działania testu + + ciąg formatu + argumenty + + + + Dodaje nazwę pliku do listy w elemencie TestResult.ResultFileNames + + + Nazwa pliku. + + + + + Uruchamia czasomierz o określonej nazwie + + Nazwa czasomierza. + + + + Zatrzymuje czasomierz o określonej nazwie + + Nazwa czasomierza. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..55933843 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..e39df20b --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Contém literais dos nomes das seções, das propriedades e dos atributos. + + + + + O nome da seção de configuração. + + + + + O nome da seção de configuração para Beta2. Mantida para compatibilidade. + + + + + Nome da Seção para a Fonte de dados. + + + + + Nome do Atributo para 'Name' + + + + + Nome do Atributo para 'ConnectionString' + + + + + Nome do Atributo para 'DataAccessMethod' + + + + + Nome do Atributo para 'DataTable' + + + + + O elemento da Fonte de Dados. + + + + + Obtém ou define o nome para essa configuração. + + + + + Obtém ou define o elemento ConnectionStringSettings na seção <connectionStrings> no arquivo .config. + + + + + Obtém ou define o nome da tabela de dados. + + + + + Obtém ou define o tipo de acesso a dados. + + + + + Obtém o nome da chave. + + + + + Obtém as propriedades de configuração. + + + + + A coleção de elementos da Fonte de dados. + + + + + Inicializa uma nova instância da classe . + + + + + Retorna o elemento de configuração com a chave especificada. + + A chave do elemento a ser retornada. + O System.Configuration.ConfigurationElement com a chave especificada; caso contrário, nulo. + + + + Obtém o elemento de configuração no local do índice especificado. + + O local do índice do System.Configuration.ConfigurationElement a ser retornado. + + + + Adiciona um elemento de configuração à coleção de elementos de configuração. + + O System.Configuration.ConfigurationElement para adicionar. + + + + Remove um System.Configuration.ConfigurationElement da coleção. + + O . + + + + Remove um System.Configuration.ConfigurationElement da coleção. + + A chave do System.Configuration.ConfigurationElement a ser removida. + + + + Remove todos os objetos de elementos de configuração da coleção. + + + + + Cria o novo . + + Um novo . + + + + Obtém a chave do elemento para um elemento de configuração especificado. + + O System.Configuration.ConfigurationElement para o qual retornar a chave. + Um System.Object que age como a chave para o System.Configuration.ConfigurationElement especificado. + + + + Adiciona um elemento de configuração à coleção de elementos de configuração. + + O System.Configuration.ConfigurationElement para adicionar. + + + + Adiciona um elemento de configuração à coleção de elementos de configuração. + + O local do índice no qual adicionar o System.Configuration.ConfigurationElement especificado. + O System.Configuration.ConfigurationElement para adicionar. + + + + Suporte para as definições de configuração dos Testes. + + + + + Obtém a seção de configuração para testes. + + + + + A seção de configuração para testes. + + + + + Obtém as fontes de dados para essa seção da configuração. + + + + + Obtém a coleção de propriedades. + + + O de propriedades para o elemento. + + + + + Essa classe representa o objeto dinâmico INTERNO NÃO público no sistema + + + + + Inicializa a nova instância da classe que contém + o objeto já existente da classe particular + + objeto que serve como ponto inicial para alcançar os membros particulares + a cadeia de caracteres de desreferência usando . que aponta para o objeto a ser recuperado como em m_X.m_Y.m_Z + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + Nome do assembly + nome totalmente qualificado + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + Nome do assembly + nome totalmente qualificado + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo construtor + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + o tipo do objeto a ser criado + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + o tipo do objeto a ser criado + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo construtor + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula + o objeto fornecido. + + objeto a ser encapsulado + + + + Inicializa uma nova instância da classe que encapsula + o objeto fornecido. + + objeto a ser encapsulado + Objeto PrivateType + + + + Obtém ou define o destino + + + + + Obtém o tipo de objeto subjacente + + + + + retorna o código hash do objeto de destino + + int que representa o código hash do objeto de destino + + + + Igual a + + Objeto com o qual comparar + retorna verdadeiro se os objetos forem iguais. + + + + Invoca o método especificado + + Nome do método + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da chamada de método + + + + Obtém o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + os índices da matriz + Uma matriz de elementos. + + + + Define o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + Valor a ser definido + os índices da matriz + + + + Obtém o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + os índices da matriz + Uma matriz de elementos. + + + + Define o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Valor a ser definido + os índices da matriz + + + + Obter o campo + + Nome do campo + O campo. + + + + Define o campo + + Nome do campo + valor a ser definido + + + + Obtém o campo + + Nome do campo + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + O campo. + + + + Define o campo + + Nome do campo + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + + + + Obter o campo ou a propriedade + + Nome do campo ou da propriedade + O campo ou a propriedade. + + + + Define o campo ou a propriedade + + Nome do campo ou da propriedade + valor a ser definido + + + + Obtém o campo ou a propriedade + + Nome do campo ou da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + O campo ou a propriedade. + + + + Define o campo ou a propriedade + + Nome do campo ou da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + + + + Obtém a propriedade + + Nome da propriedade + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Obtém a propriedade + + Nome da propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Definir a propriedade + + Nome da propriedade + valor a ser definido + Argumentos a serem passados para o membro a ser invocado. + + + + Definir a propriedade + + Nome da propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + valor a ser definido + Argumentos a serem passados para o membro a ser invocado. + + + + Obtém a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Obtém a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Define a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + Argumentos a serem passados para o membro a ser invocado. + + + + Define a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + + + + Validar cadeia de caracteres de acesso + + cadeia de caracteres de acesso + + + + Invoca o membro + + Nome do membro + Atributos adicionais + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Extrai a assinatura mais apropriada do método genérico do tipo particular atual. + + O nome do método no qual pesquisar o cache de assinatura. + Uma matriz de tipos que correspondem aos tipos dos parâmetros nos quais pesquisar. + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + para filtrar ainda mais as assinaturas de método. + Modificadores para parâmetros. + Uma instância methodinfo. + + + + Essa classe representa uma classe particular para a funcionalidade de Acessador Particular. + + + + + Associa-se a tudo + + + + + O tipo encapsulado. + + + + + Inicializa uma nova instância da classe que contém o tipo particular. + + Nome do assembly + nome totalmente qualificado da + + + + Inicializa a nova instância da classe que contém + o tipo particular do objeto de tipo + + O Tipo encapsulado a ser criado. + + + + Obtém o tipo referenciado + + + + + Invoca o membro estático + + Nome do membro para o InvokeHelper + Argumentos para a invocação + Resultado da invocação + + + + Invoca o membro estático + + Nome do membro para o InvokeHelper + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Resultado da invocação + + + + Invoca o membro estático + + Nome do membro para o InvokeHelper + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Informações de cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Argumentos para a invocação + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + /// Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + /// Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Cultura + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da invocação + + + + Obtém o elemento na matriz estática + + Nome da matriz + + Uma matriz unidimensional com inteiros de 32 bits que representam os índices que especificam + a posição do elemento a ser obtido. Por exemplo, para acessar um [10][11], os índices seriam {10,11} + + elemento na localização especificada + + + + Define o membro da matriz estática + + Nome da matriz + valor a ser definido + + Uma matriz unidimensional com inteiros de 32 bits que representam os índices que especificam + a posição do elemento a ser configurado. Por exemplo, para acessar um [10][11], a matriz seria {10,11} + + + + + Obtém o elemento na matriz estática + + Nome da matriz + Atributos adicionais de InvokeHelper + + Uma matriz unidirecional com íntegros de 32 bits que representam os índices que especificam + a posição do elemento a ser obtido. Por exemplo, para acessar um [10][11], a matriz seria {10,11} + + elemento na localização especificada + + + + Define o membro da matriz estática + + Nome da matriz + Atributos adicionais de InvokeHelper + valor a ser definido + + Uma matriz unidimensional com inteiros de 32 bits que representam os índices que especificam + a posição do elemento a ser configurado. Por exemplo, para acessar um [10][11], a matriz seria {10,11} + + + + + Obtém o campo estático + + Nome do campo + O campo estático. + + + + Define o campo estático + + Nome do campo + Argumento para a invocação + + + + Obtém o campo estático usando os atributos especificados de InvokeHelper + + Nome do campo + Atributos adicionais de invocação + O campo estático. + + + + Define o campo estático usando atributos de associação + + Nome do campo + Atributos adicionais de InvokeHelper + Argumento para a invocação + + + + Obtém a propriedade ou o campo estático + + Nome do campo ou da propriedade + A propriedade ou o campo estático. + + + + Define a propriedade ou o campo estático + + Nome do campo ou da propriedade + Valor a ser definido para o campo ou para a propriedade + + + + Obtém a propriedade ou o campo estático usando os atributos especificados de InvokeHelper + + Nome do campo ou da propriedade + Atributos adicionais de invocação + A propriedade ou o campo estático. + + + + Define a propriedade ou o campo estático usando atributos de associação + + Nome do campo ou da propriedade + Atributos adicionais de invocação + Valor a ser definido para o campo ou para a propriedade + + + + Obtém a propriedade estática + + Nome do campo ou da propriedade + Argumentos para a invocação + A propriedade estática. + + + + Define a propriedade estática + + Nome da propriedade + Valor a ser definido para o campo ou para a propriedade + Argumentos a serem passados para o membro a ser invocado. + + + + Define a propriedade estática + + Nome da propriedade + Valor a ser definido para o campo ou para a propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + + + + Obtém a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Argumentos a serem passados para o membro a ser invocado. + A propriedade estática. + + + + Obtém a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + A propriedade estática. + + + + Define a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Valor a ser definido para o campo ou para a propriedade + Valores opcionais de índice para as propriedades indexadas. Os índices das propriedades indexadas são baseados em zero. Esse valor deve ser nulo para as propriedades não indexadas. + + + + Define a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Valor a ser definido para o campo ou para a propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Fornece a descoberta da assinatura de método para os métodos genéricos. + + + + + Compara as assinaturas de método desses dois métodos. + + Method1 + Method2 + Verdadeiro se forem similares. + + + + Obtém a profundidade da hierarquia do tipo base do tipo fornecido. + + O tipo. + A profundidade. + + + + Localiza o tipo mais derivado com as informações fornecidas. + + Correspondências candidatas. + Número de correspondências. + O método mais derivado. + + + + Dado um conjunto de métodos que correspondem aos critérios base, selecione um método baseado + em uma matriz de tipos. Esse método deverá retornar nulo se nenhum método corresponder + aos critérios. + + Especificação de associação. + Correspondências candidatas + Tipos + Modificadores de parâmetro. + Método correspondente. Nulo se nenhum corresponder. + + + + Localiza o método mais específico nos dois métodos fornecidos. + + Método 1 + Ordem de parâmetro para o Método 1 + Tipo de matriz do parâmetro. + Método 2 + Ordem de parâmetro para o Método 2 + >Tipo de matriz do parâmetro. + Tipos em que pesquisar. + Args. + Um int representando a correspondência. + + + + Localiza o método mais específico nos dois métodos fornecidos. + + Método 1 + Ordem de parâmetro para o Método 1 + Tipo de matriz do parâmetro. + Método 2 + Ordem de parâmetro para o Método 2 + >Tipo de matriz do parâmetro. + Tipos em que pesquisar. + Args. + Um int representando a correspondência. + + + + Localiza o tipo mais específico nos dois fornecidos. + + Tipo 1 + Tipo 2 + A definição de tipo + Um int representando a correspondência. + + + + Usado para armazenar informações fornecidas aos testes de unidade. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém a linha de dados atual quando o teste é usado para teste controlado por dados. + + + + + Obtém a linha da conexão de dados atual quando o teste é usado para teste controlado por dados. + + + + + Obtém o diretório base para a execução de teste, no qual os arquivos implantados e de resultado são armazenados. + + + + + Obtém o diretório para arquivos implantados para a execução de teste. Normalmente um subdiretório de . + + + + + Obtém o diretório base para resultados da execução de teste. Normalmente um subdiretório de . + + + + + Obtém o diretório para arquivos implantados para a execução do teste. Normalmente um subdiretório de . + + + + + Obtém o diretório para os arquivos de resultado do teste. + + + + + Obtém o diretório base para a execução de teste, no qual os arquivos implantados e de resultado são armazenados. + Igual a . Use essa propriedade em vez disso. + + + + + Obtém o diretório para arquivos implantados para a execução de teste. Normalmente um subdiretório de . + Igual a . Use essa propriedade em vez disso. + + + + + Obtém o diretório para arquivos implantados para a execução do teste. Normalmente um subdiretório de . + Igual a . Use essa propriedade para os arquivos de resultado da execução de teste ou + para os arquivos de resultados específicos de teste. + + + + + Obtém o nome totalmente qualificado da classe contendo o método de teste executado no momento + + + + + Obtém o nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Usado para gravar mensagens de rastreamento enquanto o teste está em execução + + cadeia de caracteres da mensagem formatada + + + + Usado para gravar mensagens de rastreamento enquanto o teste está em execução + + cadeia de caracteres de formato + os argumentos + + + + Adiciona um nome de arquivo à lista em TestResult.ResultFileNames + + + O Nome do arquivo. + + + + + Inicia um timer com o nome especificado + + Nome do temporizador. + + + + Encerra um timer com o nome especificado + + Nome do temporizador. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..2b63dd5e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..58bcdd9e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Содержит литералы для имен разделов, свойств и атрибутов. + + + + + Имя раздела конфигурации. + + + + + Имя раздела конфигурации для Beta2. Оставлено для совместимости. + + + + + Имя раздела для источника данных. + + + + + Имя атрибута для "Name" + + + + + Имя атрибута для "ConnectionString" + + + + + Имя атрибута для "DataAccessMethod" + + + + + Имя атрибута для "DataTable" + + + + + Элемент источника данных. + + + + + Возвращает или задает имя этой конфигурации. + + + + + Возвращает или задает элемент ConnectionStringSettings в разделе <connectionStrings> файла .config. + + + + + Возвращает или задает имя таблицы данных. + + + + + Возвращает или задает тип доступа к данным. + + + + + Возвращает имя ключа. + + + + + Получает свойства конфигурации. + + + + + Коллекция элементов источника данных. + + + + + Инициализирует новый экземпляр класса . + + + + + Возвращает элемент конфигурации с указанным ключом. + + Ключ возвращаемого элемента. + System.Configuration.ConfigurationElement с указанным ключом; в противном случае — NULL. + + + + Получает элемент конфигурации по указанному индексу. + + Индекс возвращаемого элемента System.Configuration.ConfigurationElement. + + + + Добавляет элемент конфигурации в коллекцию элементов конфигурации. + + Добавляемый элемент System.Configuration.ConfigurationElement. + + + + Удаляет System.Configuration.ConfigurationElement из коллекции. + + . + + + + Удаляет System.Configuration.ConfigurationElement из коллекции. + + Ключ удаляемого элемента System.Configuration.ConfigurationElement. + + + + Удаляет все объекты элементов конфигурации из коллекции. + + + + + Создает новый . + + Новый . + + + + Получает ключ элемента для указанного элемента конфигурации. + + Элемент System.Configuration.ConfigurationElement, для которого возвращается ключ. + Объект System.Object, действующий как ключ для указанного элемента System.Configuration.ConfigurationElement. + + + + Добавляет элемент конфигурации в коллекцию элементов конфигурации. + + Добавляемый элемент System.Configuration.ConfigurationElement. + + + + Добавляет элемент конфигурации в коллекцию элементов конфигурации. + + Индекс, по которому следует добавить указанный элемент System.Configuration.ConfigurationElement. + Добавляемый элемент System.Configuration.ConfigurationElement. + + + + Поддержка параметров конфигурации для тестов. + + + + + Получает раздел конфигурации для тестов. + + + + + Раздел конфигурации для тестов. + + + + + Возвращает источники данных для этого раздела конфигурации. + + + + + Получает коллекцию свойств. + + + свойств для элемента. + + + + + Этот класс представляет существующий закрытый внутренний объект в системе + + + + + Инициализирует новый экземпляр класса , содержащий + уже существующий объект закрытого типа + + объект, который служит начальной точкой для доступа к закрытым элементам. + Строка разыменования, в которой получаемый объект обозначается точкой, например m_X.m_Y.m_Z + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + Имя сборки + полное имя + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + Имя сборки + полное имя + Массив объектов, представляющих число, порядок и тип параметров, получаемых конструктором + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + тип создаваемого объекта + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + тип создаваемого объекта + Массив объектов, представляющих число, порядок и тип параметров, получаемых конструктором + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + заданный объект. + + упаковываемый объект + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + заданный объект. + + упаковываемый объект + Объект PrivateType + + + + Возвращает или задает целевой объект + + + + + Возвращает тип базового объекта + + + + + возвращает хэш-код целевого объекта + + целочисленное значение, представляющее хэш-код целевого объекта + + + + Равенство + + Объект, с которым будет выполняться сравнение + возвращает true, если объекты равны. + + + + Вызывает указанный метод + + Имя метода + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова метода + + + + Возвращает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + индексы массива + Массив элементов. + + + + Задает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + Задаваемое значение + индексы массива + + + + Возвращает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + индексы массива + Массив элементов. + + + + Задает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Задаваемое значение + индексы массива + + + + Получить поле + + Имя поля + Поле. + + + + Присваивает значение полю + + Имя поля + задаваемое значение + + + + Получает поле + + Имя поля + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Поле. + + + + Присваивает значение полю + + Имя поля + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + + + + Получает поле или свойство + + Имя поля или свойства + Поле или свойство. + + + + Присваивает значение полю или свойству + + Имя поля или свойства + задаваемое значение + + + + Получает поле или свойство + + Имя поля или свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Поле или свойство. + + + + Присваивает значение полю или свойству + + Имя поля или свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + + + + Получает свойство + + Имя свойства + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Получает свойство + + Имя свойства + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Задать свойство + + Имя свойства + задаваемое значение + Аргументы, передаваемые в элемент для вызова. + + + + Задать свойство + + Имя свойства + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + задаваемое значение + Аргументы, передаваемые в элемент для вызова. + + + + Получает свойство + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Получает свойство + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Присваивает значение свойству + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + Аргументы, передаваемые в элемент для вызова. + + + + Присваивает значение свойству + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + + + + Проверка строки доступа + + строка доступа + + + + Вызывает элемент + + Имя члена + Дополнительные атрибуты + Аргумент для вызова + Язык и региональные параметры + Результат вызова + + + + Извлекает наиболее подходящую сигнатуру универсального метода из текущего закрытого типа. + + Имя метода, в котором будет искаться кэш сигнатуры. + Массив типов, соответствующих типам параметров, в которых будет осуществляться поиск. + Массив типов, соответствующих типам универсальных аргументов. + для дальнейшей фильтрации сигнатур методов. + Модификаторы для параметров. + Экземпляр methodinfo. + + + + Этот класс представляет закрытый класс для функции закрытого метода доступа. + + + + + Привязывается ко всему + + + + + Упакованный тип. + + + + + Инициализирует новый экземпляр класса , содержащий закрытый тип. + + Имя сборки + полное имя + + + + Инициализирует новый экземпляр класса , содержащий + закрытый тип из объекта типа + + Упакованный создаваемый тип. + + + + Получает тип, на который была сделана ссылка + + + + + Вызывает статический элемент + + Имя элемента InvokeHelper + Аргументы для вызова + Результат вызова + + + + Вызывает статический элемент + + Имя элемента InvokeHelper + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Результат вызова + + + + Вызывает статический элемент + + Имя элемента InvokeHelper + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова + + + + Вызывает статический метод + + Имя члена + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Вызывает статический метод + + Имя члена + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Информация о языке и региональных параметрах + Результат вызова + + + + Вызывает статический метод + + Имя члена + Дополнительные атрибуты вызова + Аргументы для вызова + Результат вызова + + + + Вызывает статический метод + + Имя члена + Дополнительные атрибуты вызова + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Результат вызова + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + /// Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + /// Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Язык и региональные параметры + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова + + + + Получает элемент в статическом массиве + + Имя массива + + Одномерный массив 32-разрядных целых чисел, которые являются индексами, указывающими + положение получаемого элемента. Например, чтобы получить доступ к a[10][11], нужны индексы {10,11} + + элемент в указанном расположении + + + + Присваивает значение элементу статического массива + + Имя массива + задаваемое значение + + Одномерный массив 32-разрядных целых чисел, которые представляют индексы, указывающие + положение задаваемого элемента. Например, чтобы получить доступ к a[10][11], нужен массив {10,11} + + + + + Получает элемент в статическом массиве + + Имя массива + Дополнительные атрибуты InvokeHelper + + Одномерный массив 32-разрядных целых чисел, которые представляют индексы, указывающие + положение получаемого элемента. Например, чтобы получить доступ к a[10][11], нужен массив {10,11} + + элемент в указанном расположении + + + + Присваивает значение элементу статического массива + + Имя массива + Дополнительные атрибуты InvokeHelper + задаваемое значение + + Одномерный массив 32-разрядных целых чисел, которые представляют индексы, указывающие + положение задаваемого элемента. Например, чтобы получить доступ к a[10][11], нужен массив {10,11} + + + + + Получает статическое поле + + Имя поля + Статическое поле. + + + + Присваивает значение статическому полю + + Имя поля + Аргумент для вызова + + + + Получает статическое поле с использованием указанных атрибутов InvokeHelper + + Имя поля + Дополнительные атрибуты вызова + Статическое поле. + + + + Присваивает значение статическому полю при помощи атрибутов привязки + + Имя поля + Дополнительные атрибуты InvokeHelper + Аргумент для вызова + + + + Получает статическое поле или свойство + + Имя поля или свойства + Статическое поле или свойство. + + + + Присваивает значение статическому полю или свойству + + Имя поля или свойства + Значение, присваиваемое полю или свойству + + + + Получает статическое поле или свойство с использованием указанных атрибутов InvokeHelper + + Имя поля или свойства + Дополнительные атрибуты вызова + Статическое поле или свойство. + + + + Присваивает значение статическому полю или свойству при помощи атрибутов привязки + + Имя поля или свойства + Дополнительные атрибуты вызова + Значение, присваиваемое полю или свойству + + + + Получает статическое свойство + + Имя поля или свойства + Аргументы для вызова + Статическое свойство. + + + + Присваивает значение статическому свойству + + Имя свойства + Значение, присваиваемое полю или свойству + Аргументы, передаваемые в элемент для вызова. + + + + Присваивает значение статическому свойству + + Имя свойства + Значение, присваиваемое полю или свойству + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + + + + Получает статическое свойство + + Имя свойства + Дополнительные атрибуты вызова. + Аргументы, передаваемые в элемент для вызова. + Статическое свойство. + + + + Получает статическое свойство + + Имя свойства + Дополнительные атрибуты вызова. + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + Статическое свойство. + + + + Присваивает значение статическому свойству + + Имя свойства + Дополнительные атрибуты вызова. + Значение, присваиваемое полю или свойству + Необязательные значения индекса для индексируемых свойств. Индексы для индексируемых свойств отсчитываются от нуля. Для неиндексируемых свойств это значение должно быть равно NULL. + + + + Присваивает значение статическому свойству + + Имя свойства + Дополнительные атрибуты вызова. + Значение, присваиваемое полю или свойству + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Предоставляет обнаружение сигнатуры методов для универсальных методов. + + + + + Сравнивает сигнатуры двух этих методов. + + Method1 + Method2 + Значение true, если они одинаковые. + + + + Получает значение глубины иерархии из базового типа предоставленного типа. + + Тип. + Глубина. + + + + Находит самый производный тип с указанной информацией. + + Потенциальные совпадения. + Число совпадений. + Самый производный метод. + + + + Выбор метода на основе массива типов с учетом набора методов, соответствующих базовым условиям. + Если методов, соответствующих условиям, нет, + метод должен возвращать NULL. + + Спецификация привязки. + Потенциальные совпадения + Типы + Модификаторы параметров. + Метод сопоставления. Значение NULL при отсутствии совпадений. + + + + Находит наиболее точный метод из двух предоставленных. + + Метод 1 + Порядок параметров для метода 1 + Тип массива параметров. + Метод 2 + Порядок параметров для метода 2 + >Тип массива параметров. + Типы для поиска. + Аргументы + Значение int, представляющее совпадение. + + + + Находит наиболее точный метод из двух предоставленных. + + Метод 1 + Порядок параметров для метода 1 + Тип массива параметров. + Метод 2 + Порядок параметров для метода 2 + >Тип массива параметров. + Типы для поиска. + Аргументы + Значение int, представляющее совпадение. + + + + Находит наиболее конкретный тип из двух предоставленных. + + Тип 1 + Тип 2 + Определяющий тип + Значение int, представляющее совпадение. + + + + Используется для хранения данных, предоставляемых модульным тестам. + + + + + Получает свойства теста. + + + + + Возвращает текущую строку данных, когда тест используется для тестирования, управляемого данными. + + + + + Возвращает текущую строку подключения к данным, когда тест используется для тестирования, управляемого данными. + + + + + Возвращает базовый каталог для тестового запуска, в котором хранятся развернутые файлы и файлы результатов. + + + + + Получает каталог для файлов, развернутых для тестового запуска. Обычно это подкаталог . + + + + + Получает базовый каталог для результатов тестового запуска. Обычно это подкаталог . + + + + + Получает каталог для файлов результата теста. Обычно это подкаталог . + + + + + Возвращает каталог для файлов результатов теста. + + + + + Получает базовый каталог для тестового запуска, в котором хранятся развернутые файлы и файлы результатов. + То же, что и . Следует использовать это свойство. + + + + + Получает каталог для файлов, развернутых для тестового запуска. Обычто это подкаталог . + То же, что и . Следует использовать это свойство. + + + + + Получает каталог для файлов результата тестового запуска. Обычно это подкаталог . + То же, что и . Используйте это свойство для файлов результата тестового запуска или + для файлов результата определенного теста. + + + + + Возвращает полное имя класса, содержащего используемый сейчас метод теста + + + + + Возвращает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Используется для записи сообщений трассировки во время теста + + отформатированная строка сообщения + + + + Используется для записи сообщений трассировки во время теста + + строка формата + аргументы + + + + Добавляет имя файла в список TestResult.ResultFileNames + + + Имя файла. + + + + + Запускает таймер с указанным именем + + Имя таймера. + + + + Останавливает таймер с указанным именем + + Имя таймера. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..f278594a --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..b864a5e8 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + Bölüm, özellik ve özniteliklerin adlarına ait sabit değerleri içerir. + + + + + Yapılandırma bölümünün adı. + + + + + Beta2 için yapılandırma bölümü adı. Uyumluluk için kullanımda tutuluyor. + + + + + Veri kaynağının bölüm adı. + + + + + 'Name' için öznitelik adı + + + + + 'ConnectionString' için öznitelik adı + + + + + 'DataAccessMethod' için öznitelik adı + + + + + 'DataTable' için öznitelik adı + + + + + Veri Kaynağı öğesi. + + + + + Bu yapılandırmanın adını alır veya ayarlar. + + + + + .config dosyasındaki <connectionStrings> bölümünde bulunan ConnectionStringSettings öğesini alır veya ayarlar. + + + + + Veri tablosunun adını alır veya ayarlar. + + + + + Veri erişiminin türünü alır veya ayarlar. + + + + + Anahtarın adını alır. + + + + + Yapılandırma özelliklerini alır. + + + + + Veri kaynağı öğe koleksiyonu. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen anahtara sahip yapılandırma öğesini döndürür. + + Döndürülecek öğenin anahtarı. + Belirtilen anahtar ile System.Configuration.ConfigurationElement; aksi takdirde, null. + + + + Belirtilen dizin konumundaki yapılandırma öğesini alır. + + Döndürülecek System.Configuration.ConfigurationElement öğesinin dizin konumu. + + + + Yapılandırma öğesi koleksiyonuna bir yapılandırma öğesi ekler. + + Eklenecek System.Configuration.ConfigurationElement öğesi. + + + + Bir System.Configuration.ConfigurationElement öğesini koleksiyondan kaldırır. + + . + + + + Bir System.Configuration.ConfigurationElement öğesini koleksiyondan kaldırır. + + Kaldırılacak System.Configuration.ConfigurationElement anahtarı. + + + + Tüm yapılandırma öğesi nesnelerini koleksiyondan kaldırır. + + + + + Yeni bir oluşturur. + + Yeni bir . + + + + Belirtilen yapılandırma öğesi için öğe anahtarını alır. + + Anahtarı döndürülecek System.Configuration.ConfigurationElement. + Belirtilen System.Configuration.ConfigurationElement için anahtar görevi gören bir System.Object. + + + + Yapılandırma öğesi koleksiyonuna bir yapılandırma öğesi ekler. + + Eklenecek System.Configuration.ConfigurationElement öğesi. + + + + Yapılandırma öğesi koleksiyonuna bir yapılandırma öğesi ekler. + + Belirtilen System.Configuration.ConfigurationElement öğesinin ekleneceği dizin konumu. + Eklenecek System.Configuration.ConfigurationElement öğesi. + + + + Testler için yapılandırma ayarları desteği. + + + + + Testler için yapılandırma bölümünü alır. + + + + + Testler için yapılandırma bölümü. + + + + + Bu yapılandırma bölümünün veri kaynaklarını alır. + + + + + Özellik koleksiyonunu alır. + + + Bir koleksiyonu. + + + + + Bu sınıf, sistemde çalışan, genel OLMAYAN İÇ nesneyi temsil eder + + + + + sınıfının, özel sınıfın zaten mevcut olan nesnesini + içeren yeni bir örneğini başlatır + + özel üyelere ulaşmak için başlangıç noktası olarak hizmet veren nesne + Alınacak nesneyi . ile gösteren, başvuru kaldırma dizesi. Örnek: m_X.m_Y.m_Z + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + Bütünleştirilmiş kodun adı + tam adı + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + Bütünleştirilmiş kodun adı + tam adı + Bir dizi alınacak oluşturucuya ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + oluşturulacak nesnenin türü + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + oluşturulacak nesnenin türü + Bir dizi alınacak oluşturucuya ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen nesneyi sarmalayan yeni bir + örneğini başlatır. + + kaydırılacak nesne + + + + sınıfının, belirtilen nesneyi sarmalayan yeni bir + örneğini başlatır. + + kaydırılacak nesne + PrivateType nesnesi + + + + Hedefi alır veya ayarlar + + + + + Temel alınan nesnenin türünü alır + + + + + hedef nesnenin karma kodunu döndürür + + hedef nesnenin karma kodunu temsil eden tamsayı + + + + Eşittir + + Karşılaştırma yapılacak nesneler + nesneler eşit ise true döndürür. + + + + Belirtilen metodu çağırır + + Metodun adı + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Yöntem adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Yöntem çağrısı sonucu + + + + Her boyut için alt simge dizisini kullanarak dizi öğesini alır + + Üyenin adı + dizi dizinleri + Öğe dizisi. + + + + Her boyut için alt simge dizisi kullanarak dizi öğesini ayarlar + + Üyenin adı + Ayarlanacak değer + dizi dizinleri + + + + Her boyut için alt simge dizisini kullanarak dizi öğesini alır + + Üyenin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + dizi dizinleri + Öğe dizisi. + + + + Her boyut için alt simge dizisi kullanarak dizi öğesini ayarlar + + Üyenin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Ayarlanacak değer + dizi dizinleri + + + + Alanı alır + + Alanın adı + Alan. + + + + Alanı ayarlar + + Alanın adı + ayarlanacak değer + + + + Alanı alır + + Alanın adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Alan. + + + + Alanı ayarlar + + Alanın adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + + + + Alanı veya özelliği alır + + Alan veya özelliğin adı + Alan veya özellik. + + + + Alanı veya özelliği ayarlar + + Alan veya özelliğin adı + ayarlanacak değer + + + + Alanı veya özelliği alır + + Alan veya özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Alan veya özellik. + + + + Alanı veya özelliği ayarlar + + Alan veya özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + + + + Özelliği alır + + Özellik adı + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği alır + + Özellik adı + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği ayarlar + + Özellik adı + ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Özelliği ayarlar + + Özellik adı + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Özelliği alır + + Özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği alır + + Özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği ayarlar + + Özellik adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Özelliği ayarlar + + Özellik adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Erişim dizesini doğrular + + erişim dizesi + + + + Üyeyi çağırır + + Üyenin adı + Ek öznitelikler + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Geçerli özel türden en uygun genel metot imzasını ayıklar. + + İmza önbelleğinin aranacağı yöntemin adı. + İçinde arama yapılacak parametrelerin türlerine karşılık gelen bir tür dizisi. + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + yöntem imzalarını daha fazla filtrelemek için. + Parametreler için değiştiriciler. + Bir methodinfo örneği. + + + + Bu sınıf, Özel Erişimci işlevselliği için özel bir sınıfı temsil eder. + + + + + Her şeye bağlar + + + + + Sarmalanan tür. + + + + + sınıfının, özel türü içeren yeni bir örneğini başlatır. + + Bütünleştirilmiş kod adı + şunun tam adı: + + + + sınıfının, tür nesnesindeki özel türü içeren yeni bir + örneğini başlatır + + Oluşturulacak kaydırılmış Tür. + + + + Başvurulan türü alır + + + + + Statik üyeyi çağırır + + InvokeHelper üyesinin adı + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik üyeyi çağırır + + InvokeHelper üyesinin adı + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik üyeyi çağırır + + InvokeHelper üyesinin adı + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Kültür bilgisi + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + /// Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + /// Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Kültür + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Çağrı sonucu + + + + Statik dizideki öğeyi alır + + Dizinin adı + + Alınacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizinler {10,11} olur + + belirtilen konumdaki öğe + + + + Statik dizinin üyesini ayarlar + + Dizinin adı + ayarlanacak değer + + Ayarlanacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizi {10,11} olur + + + + + Statik dizideki öğeyi alır + + Dizinin adı + Ek InvokeHelper öznitelikleri + + Alınacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizi {10,11} olur + + belirtilen konumdaki öğe + + + + Statik dizinin üyesini ayarlar + + Dizinin adı + Ek InvokeHelper öznitelikleri + ayarlanacak değer + + Ayarlanacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizi {10,11} olur + + + + + Statik alanı alır + + Alanın adı + Statik alan. + + + + Statik alanı ayarlar + + Alanın adı + Çağrı bağımsız değişkeni + + + + Belirtilen InvokeHelper özniteliklerini kullanarak statik alanı alır + + Alanın adı + Ek çağrı öznitelikleri + Statik alan. + + + + Bağlama özniteliklerini kullanarak statik alanı ayarlar + + Alanın adı + Ek InvokeHelper öznitelikleri + Çağrı bağımsız değişkeni + + + + Statik alanı veya özelliği alır + + Alan veya özelliğin adı + Statik alan veya özellik. + + + + Statik alanı veya özelliği ayarlar + + Alan veya özelliğin adı + Alan veya özelliğe ayarlanacak değer + + + + Belirtilen InvokeHelper özniteliklerini kullanarak statik alanı veya özelliği alır + + Alan veya özelliğin adı + Ek çağrı öznitelikleri + Statik alan veya özellik. + + + + Bağlama özniteliklerini kullanarak statik alanı veya özelliği ayarlar + + Alan veya özelliğin adı + Ek çağrı öznitelikleri + Alan veya özelliğe ayarlanacak değer + + + + Statik özelliği alır + + Alan veya özelliğin adı + Çağrı bağımsız değişkenleri + Statik özellik. + + + + Statik özelliği ayarlar + + Özellik adı + Alan veya özelliğe ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Statik özelliği ayarlar + + Özellik adı + Alan veya özelliğe ayarlanacak değer + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Statik özelliği alır + + Özellik adı + Ek çağrı öznitelikleri. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Statik özellik. + + + + Statik özelliği alır + + Özellik adı + Ek çağrı öznitelikleri. + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Statik özellik. + + + + Statik özelliği ayarlar + + Özellik adı + Ek çağrı öznitelikleri. + Alan veya özelliğe ayarlanacak değer + Dizini oluşturulmuş özellikler için isteğe bağlı dizin değerleri. Dizini oluşturulmuş özelliklerin dizinleri sıfır tabanlıdır. Bu değer, dizini oluşturulmamış özellikler için null olmalıdır. + + + + Statik özelliği ayarlar + + Özellik adı + Ek çağrı öznitelikleri. + Alan veya özelliğe ayarlanacak değer + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Genel metotlar için metot imzası bulmayı sağlar. + + + + + Bu iki metodun metot imzalarını karşılaştırır. + + Method1 + Method2 + Benzer olduklarında true. + + + + Sağlanan türün temel türünden hiyerarşi derinliğini alır. + + Tür. + Derinlik. + + + + Sağlanan bilgilerle en çok türetilen türü bulur. + + Aday eşleşmeleri. + Eşleşme sayısı. + En çok türetilen metot. + + + + Temel ölçütlerle eşleşen bir metot kümesini göz önünde bulundurarak + bir tür dizisini temel alan bir metot seçin. Hiçbir metot ölçütlerle eşleşmezse bu metot + null döndürmelidir. + + Bağlama belirtimi. + Aday eşleşmeleri + Türler + Parametre değiştiriciler. + Eşleştirme metodu. Eşleşen yoksa null. + + + + Sağlanan iki metot arasından en belirli olanını bulur. + + Metot 1 + Metot 1 için parametre sırası + Parametre dizi türü. + Metot 2 + Metot 2 için parametre sırası + >Parametre dizi türü. + İçinde aramanın yapılacağı türler. + Bağımsız Değişkenler + Eşleşmeyi temsil eden bir int. + + + + Sağlanan iki metot arasından en belirli olanını bulur. + + Metot 1 + Metot 1 için parametre sırası + Parametre dizi türü. + Metot 2 + Metot 2 için parametre sırası + >Parametre dizi türü. + İçinde aramanın yapılacağı türler. + Bağımsız Değişkenler + Eşleşmeyi temsil eden bir int. + + + + Sağlanan iki tür arasından en belirli olanını bulur. + + Tür 1 + Tür 2 + Tanımlama türü + Eşleşmeyi temsil eden bir int. + + + + Birim testlerinde sağlanan bilgileri depolamak için kullanılır. + + + + + Bir testin test özelliklerini alır. + + + + + Test, veri tabanlı test için kullanıldığında geçerli veri satırını alır. + + + + + Test, veri tabanlı test için kullanıldığında geçerli veri bağlantısı satırını alır. + + + + + Test çalıştırması için, dağıtılan dosyaların ve sonuç dosyalarının depolandığı temel dizini alır. + + + + + Test çalıştırması için dağıtılan dosyaların dizinini alır. Genellikle dizininin bir alt dizinidir. + + + + + Test çalıştırmasından sonuçlar için temel dizini alır. Genellikle dizininin bir alt dizinidir. + + + + + Test çalıştırması sonuç dosyalarının dizinini alır. Genellikle dizininin bir alt dizinidir. + + + + + Test sonucu dosyalarının dizinini alır. + + + + + Test çalıştırması için dağıtılan dosyaların ve sonuç dosyalarının depolandığı temel dizini alır. + ile aynıdır. Bunun yerine bu özelliği kullanın. + + + + + Test çalıştırması için dağıtılan dosyaların dizinini alır. Genellikle dizininin bir alt dizinidir. + ile aynıdır. Bunun yerine bu özelliği kullanın. + + + + + Test çalıştırması sonuç dosyalarının dizini alır. Genellikle dizininin bir alt dizinidir. + ile aynıdır. Test çalıştırması sonuç dosyaları için bu özelliği veya + teste özgü sonuç dosyaları için kullanın. + + + + + Şu anda yürütülen test metodunu içeren sınıfın tam adını alır + + + + + Yürütülmekte olan test metodunun adını alır + + + + + Geçerli test sonucunu alır. + + + + + Test çalışırken izleme iletileri yazmak için kullanılır + + biçimlendirilmiş ileti dizesi + + + + Test çalışırken izleme iletileri yazmak için kullanılır + + biçim dizesi + bağımsız değişkenler + + + + TestResult.ResultFileNames içindeki listeye bir dosya adı ekler + + + Dosya Adı. + + + + + Belirtilen ada sahip bir zamanlayıcı başlatır + + Zamanlayıcının adı. + + + + Belirtilen ada sahip zamanlayıcıyı sonlandırır + + Zamanlayıcının adı. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..b7a00291 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..35e36962 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用于为预测试部署指定部署项(文件或目录)。 + 可在测试类或测试方法上指定。 + 可使用多个特性实例来指定多个项。 + 项路径可以是绝对路径或相对路径,如果为相对路径,则相对于 RunConfig.RelativePathRoot。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + 初始化 类的新实例。 + + 要部署的文件或目录。路径与生成输出目录相关。将项复制到与已部署测试程序集相同的目录。 + + + + 初始化 类的新实例 + + 要部署的文件或目录的相对路径或绝对路径。该路径相对于生成输出目录。将项复制到与已部署测试程序集相同的目录。 + 要将项复制到其中的目录路径。它可以是绝对部署目录或相对部署目录。所有由以下对象标识的文件和目录: 将复制到此目录。 + + + + 获取要复制的源文件或文件夹的路径。 + + + + + 获取将项复制到其中的目录路径。 + + + + + 包含节名称、属性名称、特性名称的文本。 + + + + + 配置节名称。 + + + + + Beta2 的配置节名称。保留以兼容。 + + + + + 数据源的节名称。 + + + + + "Name" 的属性名称 + + + + + "ConnectionString" 的属性名称 + + + + + "DataAccessMethod" 的属性名称 + + + + + "DataTable" 的属性名称 + + + + + 数据源元素。 + + + + + 获取或设置此配置的名称。 + + + + + 获取或设置 .config 文件 <connectionStrings> 部分中的 ConnectionStringSettings 元素。 + + + + + 获取或设置数据表的名称。 + + + + + 获取或设置数据访问的类型。 + + + + + 获取密钥名称。 + + + + + 获取配置属性。 + + + + + 数据源元素集合。 + + + + + 初始化 类的新实例。 + + + + + 返回具有指定密钥的配置元素。 + + 要返回的元素的密钥。 + 具有指定密钥的 System.Configuration.ConfigurationElement;否则,为空。 + + + + 在指定索引位置获取配置元素。 + + 要返回的 System.Configuration.ConfigurationElement 的索引位置。 + + + + 向配置元素集合添加一个配置元素。 + + 要添加的 System.Configuration.ConfigurationElement。 + + + + 从集合中删除一个 System.Configuration.ConfigurationElement。 + + . + + + + 从集合中删除一个 System.Configuration.ConfigurationElement。 + + 要删除的 System.Configuration.ConfigurationElement 的密钥。 + + + + 从集合中删所有配置元素对象。 + + + + + 创建一个新 。 + + 一个新的. + + + + 获取指定配置元素的元素密钥。 + + 返回密钥的 System.Configuration.ConfigurationElement。 + 充当指定 System.Configuration.ConfigurationElement 密钥的 System.Object。 + + + + 向配置元素集合添加一个配置元素。 + + 要添加的 System.Configuration.ConfigurationElement。 + + + + 向配置元素集合添加一个配置元素。 + + 要添加指定 System.Configuration.ConfigurationElement 的索引位置。 + 要添加的 System.Configuration.ConfigurationElement。 + + + + 支持对测试进行配置设置。 + + + + + 获取测试的配置节。 + + + + + 测试的配置节。 + + + + + 获取此配置节的数据源。 + + + + + 获取属性集合。 + + + 该 元素的属性。 + + + + + 此类表示系统中活动的非公共内部对象 + + + + + 初始化 类的新实例, + 该类包含已存在的私有类对象 + + 充当访问私有成员的起点的对象 + 非关联化字符串 using,指向要以 m_X.m_Y.m_Z 形式检索的对象 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 程序集名称 + 完全限定名称 + 要传递到构造函数的参数 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 程序集名称 + 完全限定名称 + 表示供方法调用的 表示供构造函数获取的参数编号、顺序和类型的对象 + 要传递到构造函数的参数 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 要创建的对象的类型 + 要传递到构造函数的参数 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 要创建的对象的类型 + 表示供方法调用的 表示供构造函数获取的参数编号、顺序和类型的对象 + 要传递到构造函数的参数 + + + + 初始化包装 + 给定对象的 类的新实例。 + + 要包装的对象 + + + + 初始化包装 + 给定对象的 类的新实例。 + + 要包装的对象 + PrivateType 对象 + + + + 获取或设置目标 + + + + + 获取基础对象的类型 + + + + + 返回目标对象的哈希代码 + + 表示目标对象的哈希代码的 int + + + + 等于 + + 要与其比较的对象 + 如果对象相等,则返回 true。 + + + + 调用指定方法 + + 方法名称 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 与泛型参数的类型对应的类型数组。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 区域性信息 + 与泛型参数的类型对应的类型数组。 + 方法调用的结果 + + + + 使用每个维度的子脚本数组获取数组元素 + + 成员名称 + 数组的索引 + 元素数组。 + + + + 使用每个维度的子脚本数组设置数组元素 + + 成员名称 + 要设置的值 + 数组的索引 + + + + 使用每个维度的子脚本数组获取数组元素 + + 成员名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 数组的索引 + 元素数组。 + + + + 使用每个维度的子脚本数组设置数组元素 + + 成员名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + 数组的索引 + + + + 获取字段 + + 字段名称 + 字段。 + + + + 设置字段 + + 字段名称 + 要设置的值 + + + + 获取字段 + + 字段名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 字段。 + + + + 设置字段 + + 字段名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + + + + 获取字段或属性 + + 字段或属性的名称 + 字段或属性。 + + + + 设置字段或属性 + + 字段或属性的名称 + 要设置的值 + + + + 获取字段或属性 + + 字段或属性的名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 字段或属性。 + + + + 设置字段或属性 + + 字段或属性的名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + + + + 获取属性 + + 属性名称 + 要传递到成员以调用的参数。 + 属性。 + + + + 获取属性 + + 属性名称 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 属性。 + + + + 设置属性 + + 属性名称 + 要设置的值 + 要传递到成员以调用的参数。 + + + + 设置属性 + + 属性名称 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要设置的值 + 要传递到成员以调用的参数。 + + + + 获取属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要传递到成员以调用的参数。 + 属性。 + + + + 获取属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 属性。 + + + + 设置属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + 要传递到成员以调用的参数。 + + + + 设置属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + + + + 验证访问字符串 + + 访问字符串 + + + + 调用成员 + + 成员名称 + 其他特性 + 调用的参数 + 区域性 + 调用的结果 + + + + 从当前私有类型中提取最合适的泛型方法签名。 + + 要在其中搜索签名缓存的方法的名称。 + 与要在其中进行搜索的参数类型对应的类型数组。 + 与泛型参数的类型对应的类型数组。 + 以进一步筛选方法签名。 + 参数的修饰符。 + methodinfo 实例。 + + + + 此类表示专用访问器功能的私有类。 + + + + + 绑定到所有内容 + + + + + 包装的类型。 + + + + + 初始化包含私有类型的 类的新实例。 + + 程序集名称 + 其完全限定的名称 + + + + 初始化 类的新实例, + 该类包含类型对象中的 + 私有类型 + 要创建的包装类型。 + + + + 获取引用的类型 + + + + + 调用静态成员 + + InvokeHelper 的成员的名称 + 调用的参数 + 调用的结果 + + + + 调用静态成员 + + InvokeHelper 的成员的名称 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 调用的结果 + + + + 调用静态成员 + + InvokeHelper 的成员的名称 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 与泛型参数的类型对应的类型数组。 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 调用的参数 + 区域性 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 区域性信息 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 调用的参数 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 调用的参数 + 区域性 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + /// 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 区域性 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + /// 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 区域性 + 与泛型参数的类型对应的类型数组。 + 调用的结果 + + + + 获取静态数组中的元素 + + 数组名称 + + 一个 32 位整数的一维数组,表示指定要获取的 + 元素位置的索引。例如,要访问 a[10][11],则索引为 {10,11} + + 指定位置处的元素 + + + + 设置静态数组的成员 + + 数组名称 + 要设置的值 + + 一个 32 位整数的一维数组,表示指定要设置的 + 元素位置的索引。例如,要访问 a[10][11],则数组为 {10,11} + + + + + 获取静态数组中的元素 + + 数组名称 + 其他 InvokeHelper 特性 + + 一个 32 位整数的一维数组,表示指定要获取的 + 元素位置的索引。例如,要访问 a[10][11],则数组为 {10,11} + + 指定位置处的元素 + + + + 设置静态数组的成员 + + 数组名称 + 其他 InvokeHelper 特性 + 要设置的值 + + 一个 32 位整数的一维数组,表示指定要设置的 + 元素位置的索引。例如,要访问 a[10][11],则数组为 {10,11} + + + + + 获取静态字段 + + 字段名称 + 静态字段。 + + + + 设置静态字段 + + 字段名称 + 调用的参数 + + + + 使用指定的 InvokeHelper 属性获取静态字段 + + 字段名称 + 其他调用特性 + 静态字段。 + + + + 使用绑定属性设置静态字段 + + 字段名称 + 其他 InvokeHelper 特性 + 调用的参数 + + + + 获取静态字段或属性 + + 字段或属性的名称 + 静态字段或属性。 + + + + 设置静态字段或属性 + + 字段或属性的名称 + 要设置到字段或属性的值 + + + + 使用指定的 InvokeHelper 属性获取静态字段或属性 + + 字段或属性的名称 + 其他调用特性 + 静态字段或属性。 + + + + 使用绑定属性设置静态字段或属性 + + 字段或属性的名称 + 其他调用特性 + 要设置到字段或属性的值 + + + + 获取静态属性 + + 字段或属性的名称 + 调用的参数 + 静态属性。 + + + + 设置静态属性 + + 属性名称 + 要设置到字段或属性的值 + 要传递到成员以调用的参数。 + + + + 设置静态属性 + + 属性名称 + 要设置到字段或属性的值 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + + + + 获取静态属性 + + 属性名称 + 其他调用特性。 + 要传递到成员以调用的参数。 + 静态属性。 + + + + 获取静态属性 + + 属性名称 + 其他调用特性。 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 静态属性。 + + + + 设置静态属性 + + 属性名称 + 其他调用特性。 + 要设置到字段或属性的值 + 索引属性的可选索引值。索引属性的索引以零为基础。对于非索引属性此值应为 null。 + + + + 设置静态属性 + + 属性名称 + 其他调用特性。 + 要设置到字段或属性的值 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 调用的参数 + 区域性 + 调用的结果 + + + + 为泛型方法提供方法签名发现。 + + + + + 比较这两种方法的方法签名。 + + Method1 + Method2 + 如果相似则为 true。 + + + + 从所提供类型的基类型获取层次结构深度。 + + 类型。 + 深度。 + + + + 通过提供的信息查找高度派生的类型。 + + 候选匹配。 + 匹配数。 + 派生程度最高的方法。 + + + + 如果给定了一组与基础条件匹配的方法,则基于 + 类型数组选择一个方法。如果没有方法与条件匹配,此方法应 + 返回 null。 + + 绑定规范。 + 候选匹配 + 类型 + 参数修饰符。 + 匹配方法。如无匹配则为 null。 + + + + 在提供的两种方法中找到最具有针对性的方法。 + + 方法 1 + 方法 1 的参数顺序 + 参数数组类型。 + 方法 2 + 方法 2 的参数顺序 + >Paramter 数组类型。 + 要在其中进行搜索的类型。 + 参数。 + 表示匹配的 int。 + + + + 在提供的两种方法中找到最具有针对性的方法。 + + 方法 1 + 方法 1 的参数顺序 + 参数数组类型。 + 方法 2 + 方法 2 的参数顺序 + >参数数组类型。 + 要在其中进行搜索的类型。 + 参数。 + 表示匹配的 int。 + + + + 在提供的两种类型中找到一种最具针对性的类型。 + + 类型 1 + 类型 2 + 定义类型 + 表示匹配的 int。 + + + + 用于存储提供给单元测试的信息。 + + + + + 获取测试的测试属性。 + + + + + 测试用于数据驱动测试时获取当前数据行。 + + + + + 测试用于数据驱动测试时获取当前数据连接行。 + + + + + 获取测试运行的基目录,该目录下存储有部署文件和结果文件。 + + + + + 获取为测试运行部署的文件的目录。通常是 的子目录。 + + + + + 获取测试运行结果的基目录。通常是 的子目录。 + + + + + 获取测试运行结果文件的目录。通常为 的子目录。 + + + + + 获取测试结果文件的目录。 + + + + + 获取测试运行的基目录,该目录下存储有部署的文件和结果文件。 + 与 相同。请改用该属性。 + + + + + 获取为测试运行部署的文件的目录。通常为 的子目录。 + 与 相同。请改用该属性。 + + + + + 获取测试运行结果文件的目录。通常为 的子目录。 + 与 相同。请改用测试运行结果文件的该属性,或使用特定测试结果文件的 + 。 + + + + + 获取包含当前正在执行的测试方法的类的完全限定名称 + + + + + 获取当前正在执行的测试方法的名称 + + + + + 获取当前测试结果。 + + + + + 用于在测试运行时写入跟踪消息 + + 格式化消息字符串 + + + + 用于在测试运行时写入跟踪消息 + + 格式字符串 + 参数 + + + + 将文件名添加到 TestResult.ResultFileNames 中的列表 + + + 文件名。 + + + + + 启动具有指定名称的计时器 + + 计时器名称。 + + + + 终止具有指定名称的计时器 + + 计时器名称。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..0ccce3fa --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..2d6cc373 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + 包含區段、屬性 (property)、屬性 (attribute) 名稱的常值。 + + + + + 組態區段名稱。 + + + + + Beta2 的組態區段名稱。為相容性而保留。 + + + + + 資料來源的區段名稱。 + + + + + 'Name' 的屬性名稱 + + + + + 'ConnectionString' 的屬性名稱 + + + + + 'DataAccessMethod' 的屬性名稱 + + + + + 'DataTable' 的屬性名稱 + + + + + 資料來源元素。 + + + + + 取得或設定此組態的名稱。 + + + + + 取得或設定 .config 檔 <connectionStrings> 區段的 ConnectionStringSettings 元素。 + + + + + 取得或設定運算列表的名稱。 + + + + + 取得或設定資料存取的類型。 + + + + + 取得金鑰名稱。 + + + + + 取得組態屬性。 + + + + + 資料來源元素集合。 + + + + + 初始化 類別的新執行個體。 + + + + + 傳回具有指定索引鍵的組態元素。 + + 要傳回之元素的索引鍵。 + 具有指定索引鍵的 System.Configuration.ConfigurationElement; 否則為 null。 + + + + 取得位在指定索引位置的組態元素。 + + 要傳回之 System.Configuration.ConfigurationElement 的索引位置。 + + + + 將組態元素新增至組態元素集合。 + + 要新增的 System.Configuration.ConfigurationElement。 + + + + 從集合移除 System.Configuration.ConfigurationElement。 + + 。 + + + + 從集合移除 System.Configuration.ConfigurationElement。 + + 要移除之 System.Configuration.ConfigurationElement 的索引鍵。 + + + + 從集合移除所有組態元素物件。 + + + + + 建立新的 。 + + 新的 + + + + 取得指定組態元素的元素索引鍵。 + + 要為其傳回索引鍵的 System.Configuration.ConfigurationElement。 + 用作指定 System.Configuration.ConfigurationElement 之索引鍵的 System.Object。 + + + + 將組態元素新增至組態元素集合。 + + 要新增的 System.Configuration.ConfigurationElement。 + + + + 將組態元素新增至組態元素集合。 + + 要新增指定 System.Configuration.ConfigurationElement 的索引位置。 + 要新增的 System.Configuration.ConfigurationElement。 + + + + 支援測試的組態設定。 + + + + + 取得測試的組態區段。 + + + + + 測試的組態區段。 + + + + + 取得此組態區段的資料來源。 + + + + + 取得屬性集合。 + + + (屬於元素的屬性)。 + + + + + 這個類別代表系統中的即時非公用 INTERNAL 物件 + + + + + 初始化 類別 (內含 + 私用類別的現有物件) 的新執行個體 + + 作為連絡 Private 成員之起點的物件 + 使用 . 的取值字串,指向要以 m_X.m_Y.m_Z 形式擷取的物件 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 組件的名稱 + 完整名稱 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 組件的名稱 + 完整名稱 + 物件陣列, 物件陣列,代表要取得之建構函式的參數數目、順序和類型 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 要建立的物件類型 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 要建立的物件類型 + 物件陣列, 物件陣列,代表要取得之建構函式的參數數目、順序和類型 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 給定的物件) 的新執行個體。 + + 要包裝的物件 + + + + 初始化 類別 (其包裝 + 給定的物件) 的新執行個體。 + + 要包裝的物件 + PrivateType 物件 + + + + 取得或設定目標 + + + + + 取得基礎物件的類型 + + + + + 傳回目標物件的雜湊碼 + + int,代表目標物件的雜湊碼 + + + + 等於 + + 要與之比較的物件 + 若物件相等則傳回 true。 + + + + 叫用指定的方法 + + 方法的名稱 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 對應至泛型引數類型的類型陣列。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 對應至泛型引數類型的類型陣列。 + 方法呼叫結果 + + + + 取得使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 陣列索引 + 元素陣列。 + + + + 設定使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 要設定的值 + 陣列索引 + + + + 取得使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 陣列索引 + 元素陣列。 + + + + 設定使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + 陣列索引 + + + + 取得欄位 + + 欄位的名稱 + 欄位。 + + + + 設定欄位 + + 欄位的名稱 + 要設定的值 + + + + 取得欄位 + + 欄位的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 欄位。 + + + + 設定欄位 + + 欄位的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + + + + 取得欄位或屬性 + + 欄位或屬性名稱 + 欄位或屬性。 + + + + 設定欄位或屬性 + + 欄位或屬性名稱 + 要設定的值 + + + + 取得欄位或屬性 + + 欄位或屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 欄位或屬性。 + + + + 設定欄位或屬性 + + 欄位或屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + + + + 取得屬性 + + 屬性名稱 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 取得屬性 + + 屬性名稱 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 設定屬性 + + 屬性名稱 + 要設定的值 + 要傳遞給要叫用之成員的引數。 + + + + 設定屬性 + + 屬性名稱 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要設定的值 + 要傳遞給要叫用之成員的引數。 + + + + 取得屬性 + + 屬性的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 取得屬性 + + 屬性的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 設定屬性 + + 屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + 要傳遞給要叫用之成員的引數。 + + + + 設定屬性 + + 屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + + + + 驗證存取字串 + + 存取字串 + + + + 叫用成員 + + 成員的名稱 + 其他屬性 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 從目前私用類型中擷取最適當的泛型方法簽章。 + + 要在其中搜尋簽章快取的方法名稱。 + 對應至要在其中進行搜尋之參數類型的類型陣列。 + 對應至泛型引數類型的類型陣列。 + 進一步篩選方法簽章。 + 參數的修飾詞。 + methodinfo 執行個體。 + + + + 此類別代表私用存取子功能的私用類別。 + + + + + 繫結至所有項目 + + + + + 包裝的類型。 + + + + + 初始化 類別 (其內含私人類型) 的新執行個體。 + + 組件名稱 + 下列項目的完整名稱: + + + + 初始化 類別 (內含 + 類型物件的私用類型) 的新執行個體 + + 要建立的已包裝「類型」。 + + + + 取得參考的類型 + + + + + 叫用靜態成員 + + InvokeHelper 的成員名稱 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態成員 + + InvokeHelper 的成員名稱 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態成員 + + InvokeHelper 的成員名稱 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 對應至泛型引數類型的類型陣列。 + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 文化特性 (Culture) 資訊 + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 其他引動過程屬性 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 其他引動過程屬性 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + /// 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + /// 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 文化特性 (Culture) + 對應至泛型引數類型的類型陣列。 + 引動過程結果 + + + + 取得靜態陣列中的元素 + + 陣列的名稱 + + 32 位元整數的一維陣列,代表指定要取得之元素的位置索引。 + 例如,若要存取 a[10][11],索引即為 {10,11} + + 元素 (位於指定的位置) + + + + 設定靜態陣列的成員 + + 陣列的名稱 + 要設定的值 + + 32 位元整數的一維陣列,代表指定要設定之元素的位置索引。 + 例如,若要存取 a[10][11],陣列即為 {10,11} + + + + + 取得靜態陣列中的元素 + + 陣列的名稱 + 其他 InvokeHelper 屬性 + + 32 位元整數的一維陣列,代表指定要取得之元素的位置索引。 + 例如,若要存取 a[10][11],陣列即為 {10,11} + + 元素 (位於指定的位置) + + + + 設定靜態陣列的成員 + + 陣列的名稱 + 其他 InvokeHelper 屬性 + 要設定的值 + + 32 位元整數的一維陣列,代表指定要設定之元素的位置索引。 + 例如,若要存取 a[10][11],陣列即為 {10,11} + + + + + 取得靜態欄位 + + 欄位名稱 + 靜態欄位。 + + + + 設定靜態欄位 + + 欄位名稱 + 引動過程的引數 + + + + 取得使用所指定 InvokeHelper 屬性的靜態欄位 + + 欄位名稱 + 其他引動過程屬性 + 靜態欄位。 + + + + 設定使用繫結屬性的靜態欄位 + + 欄位名稱 + 其他 InvokeHelper 屬性 + 引動過程的引數 + + + + 取得靜態欄位或屬性 + + 欄位或屬性名稱 + 靜態欄位或屬性。 + + + + 設定靜態欄位或屬性 + + 欄位或屬性名稱 + 要設定為欄位或屬性的值 + + + + 取得使用所指定 InvokeHelper 屬性 (attribute) 的靜態欄位或屬性 (property) + + 欄位或屬性名稱 + 其他引動過程屬性 + 靜態欄位或屬性。 + + + + 設定使用繫結屬性 (attribute) 的靜態欄位或屬性 (property) + + 欄位或屬性名稱 + 其他引動過程屬性 + 要設定為欄位或屬性的值 + + + + 取得靜態屬性 + + 欄位或屬性名稱 + 引動過程的引數 + 靜態屬性。 + + + + 設定靜態屬性 + + 屬性名稱 + 要設定為欄位或屬性的值 + 要傳遞給要叫用之成員的引數。 + + + + 設定靜態屬性 + + 屬性名稱 + 要設定為欄位或屬性的值 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + + + + 取得靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 要傳遞給要叫用之成員的引數。 + 靜態屬性。 + + + + 取得靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 靜態屬性。 + + + + 設定靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 要設定為欄位或屬性的值 + 索引屬性的選擇性索引值。索引屬性的索引是以零為起始。非索引屬性的這個值應該是 null。 + + + + 設定靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 要設定為欄位或屬性的值 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 提供泛型方法的方法簽章探索。 + + + + + 比對這兩種方法的方法簽章。 + + Method1 + Method2 + 若類似即為 true。 + + + + 取得所提供之類型的基底類型階層深度。 + + 類型。 + 深度。 + + + + 使用提供的資訊找出最具衍生性的類型。 + + 候選相符項目。 + 相符項目數目。 + 最具衍生性的方法。 + + + + 如果有一組方法符合基底準則,請根據類型陣列 + 來選取方法。如果沒有方法符合準則,則這個方法 + 應該傳回 null。 + + 繫結規格。 + 候選相符項目 + 類型 + 參數修飾詞。 + 相符方法。若無符合項則為 Null。 + + + + 從提供的兩個方法中,找出最明確的方法。 + + 方法 1 + 方法 1 的參數順序 + 參數陣列類型。 + 方法 2 + 方法 2 的參數順序 + >參數陣列類型。 + 要搜尋的類型。 + 引數 + 代表相符項目的 int。 + + + + 從提供的兩個方法中,找出最明確的方法。 + + 方法 1 + 方法 1 的參數順序 + 參數陣列類型。 + 方法 2 + 方法 2 的參數順序 + >參數陣列類型。 + 要搜尋的類型。 + 引數 + 代表相符項目的 int。 + + + + 在提供的兩項中找出最明確的類型。 + + 類型 1 + 類型 2 + 定義類型 + 代表相符項目的 int。 + + + + 用來儲存提供給單元測試的資訊。 + + + + + 取得測試的測試屬性。 + + + + + 在測試用於資料驅動測試時,取得目前資料連線資料列。 + + + + + 在測試用於資料驅動測試時,取得目前資料連線資料列。 + + + + + 取得測試回合的基底目錄,部署的檔案及結果檔案或儲存在其下。 + + + + + 為部署用於測試回合的檔案取得目錄。通常為 的子目錄。 + + + + + 取得測試回合結果的基底目錄。通常為 的子目錄。 + + + + + 為測試回合結果檔案取得目錄。通常為 的子目錄。 + + + + + 取得測試結果檔案的目錄。 + + + + + 取得測試回合的基底目錄,部署的檔案及結果檔案或儲存在其下。 + 如同 。請改用該屬性。 + + + + + 為部署用於測試回合的檔案取得目錄。通常為 的子目錄。 + 如同 。請改用該屬性。 + + + + + 為測試回合結果檔案取得目錄。通常為 的子目錄。 + 如同 。請改成將該屬性用於測試回合結果檔案,或將 + 用於測試特定結果檔案。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + 用來在測試執行時寫入追蹤訊息 + + 格式化訊息字串 + + + + 用來在測試執行時寫入追蹤訊息 + + 格式字串 + 引數 + + + + 將檔案名稱新增至 TestResult.ResultFileNames 的清單中 + + + 檔案名稱。 + + + + + 開始具有所指定名稱的計時器 + + 計時器名稱。 + + + + 結束具有所指定名稱的計時器 + + 計時器名稱。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..611e17b6 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 00000000..b16ff3fc --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + TestContext class. This class should be fully abstract and not contain any + members. The adapter will implement the members. Users in the framework should + only access this via a well-defined interface. + + + + + Gets test properties for a test. + + + + + Gets Fully-qualified name of the class containing the test method currently being executed + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Gets the Name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..f706d6d5bed48cbf7c598608ff7b39aee1117b69 GIT binary patch literal 22672 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

    x`0DnyYs$P+aiHwDDT|M*Yi~7oJ7ft)95K zdN>kQwQ)>GdE)xX^J)+03J)*obb%is6Hzk zBABzX)jM#jL+!<2BkaZYPTI` zDvW-ggjf`wsn8Gdp3L+$ayX@M3uJWw-NExCUAQX621UYP(O|m4zTaO42ULh7=noI5 zSgwj$?_zN;y1EB=Gsdd?L|Xs1cvF?(1z?8+4y7M1vfzENQIpcVXUei8*etVv!6#=$w+;#K z)_r6U7y+ty#qfb-_G#$Q`vi22CD(u{uFbE2l51DM&a-qtSvjqR%p zUw#X|eYr}JV7nM0M_x>B@s1r4E=S0t5@4V!$4b)pb==Giw`0a z2)a5!0YA7$Y$5}nIkVkl9-gbOFJD70y&8?q{^P^0-=0NLqG+u1E}+gcj#xy0{Scx7 z>ubOUEEfrJ`m2G9WEt!RyG*Bni)7lD{KpMUpLhL96Lhe1nD#`WLFm`4^Jg%fF-)*! zW*3v~_PpfWtl(7W5_e~4?8~(ax9i@0lJppIYYtt)cDu24u#{T6}WbnDNv^S_LzKghTSN%@3VC#toaJyx(+iEeF{ z4md@d^Q0?b0l(@ls}e$z@h)Re+gOFPuT=t9Hb3JOb!k%b#`_qC?J7N(8oo=J@~-jN z%L`U>+x#6FHSQ8iw&fO+>mrpdk15GE58=vqs@`4a*`3uFwl6fPK<^G2_ci(Uw}#U> zdR$+PMCx-z%IZ?u-Z1NrEK{_YS7VbLm(ua6bDxR$J(0Bj^aCM^sUeHXt|U4x=;xHP z5BRcor>KK=jmIjdJ4??PZ2PA9u*&bCMR-eGd)2w{jHHN7)Wa`}Ck{N6=ra5q*g`hu ze6}{Js{DM>*){FEJPsx-ZxveN-zoRz^WsK4�DhV6i@Bm9xny%S@+yo-G&GFaLNY zcoVUEe{N&*)>g`r-a5^!p{kFSFnKV{w)DlWnC1(djb9gy9HZ&8ANOb%zjbaT>*^+{ z_laRBr<0NlTJ=pId6R|9=k=t%4sNt9(Rwg{i_yxCK^@EO(&x9&iD4SQX}qgZfJJY! z`Sj)?x*bypGdU7~2i$+!d%~C5$-;ijPs#!_QvVik1s?86@K^Z`{(tNu|Go_1fv3fQ z0P7k~`dRc?NjwN*0DhK#dYNLPe+@)HBY_BL5QqTg+>y8AQ~@c?^1G3TnF0;@88+p`-Q=EywM55FvQm*=g)r9Ae^X2aVk5xn`$G~W2YP3yB( zDMnQ6x83_9WMya19=GG%>J1h5%G8b}a8=yd<#lzH1lx~zmZY2*d^eqtkV14$nLEzEIK;5`Q`2qYIH%)hrJ$b~zd)qg@*jA;V_hPsfp0ZtecWB6Bd(yo%$JeAt-ZQS+x?&*BX`{sZ0xhqn znTs@zX)kX&W&D+Jvl?Smb-ZGS!TQd9iRvSc9^2(~=QkKe25xXWyO+OQTw!DDhqIWJ z^ijXJ9j>)ovo@WtlcUe~o2PuTO-b2cey-tCz4oyl#~Sx5@o}Bm2LO=rS{EV zaZ}FD*tN07(?k*T_C|t_)@_9+Q7iaetYfRkpx*OG(M-SYI??J2lDC%G^&1xOzfiC} zKku~VTC1n^4b+6k)PBXDTI;-~H`G0Ul{c;L{#05>qbWk-GqVbs)XGGW>dta7Z!QW6w(}BH_3bI(R62VUS z4*7N|wtxK;08C#nZ-Jv8oM+7}c7Cw7AA!JH>{d=MZeX!jE%>T#)oeUkB zUg`dXKOJTqK!nF(896W`3ubJe@xy6iKo|gQGTj^+C8qsn%^{0-ASHkXqE$k{uifGU zqG*~SbTVu@!vGEI$PjSSv*LOEKr}A}#Ec@5#_=F79QlEk|I&hAm$h+{S%uR($|Y71Kd{^ z)h;P38V>CasFl|(&RId)n7M9?wezyOb9Sull(3T;UTnU_wWIP&_!DCeO_e>*jU24PR~> zAj=gR>7BdlY0`(fjA3iFN1qpUT+n?JIse$R3ZW=DWE%+c z`rbBaT=&_3!q$-cGWVs+<;R{Kzt=6A>SDFrfUsIgVnfvjrLjlq3vr>j$Gy@*A}J-O z=nbZ9?1xaQ%En9+VTT}|x@w1!-i!@W6w!57B{9!TRY^q+D_s3k8l(gCa#DKk50AYU zE7+~nd#yO9qjK5!JLl; zzPs*1T?N(`yoPg%x$JBN@)Bh`AeE-7J;f$gu`;@sI|~aBBqYd>+hofgnOLHbII@4N zHvE)bPT#BOIElfR`g!s5?7nqXD}+QpuNeQl?7H1PO8pZ_K!>OeRX(4z8##NZsSP+QZSts?NM+PmB+DqD}ah_yhG9$mFmV zSDG+yg7Y;zQ}iax6m4fY53>L1g=^A>@EaR&mT8&Ks0U$++|v#yaV#DO9=zqEJ>h;zr z7})*s({1*BId{G~j5WnG=DS&Rq|bS`uG>fE6`{h#guris%PvQAYxylxF&SAjb*7kk!y<9c3JMfqXrA6n1196@8&((dvDp@<>7SM(W8%) zs$Kj}*IqSIy$c^9;?9s%PoW$I>(F6-%(*LGo-i7C-RX$ElxZ@Yh8KId>8ZK&dbx#8I&FUakZJ^U=Y0Et#DxV+;iWKB z*m}k$!(f2JLRb&v5oSgRaaafg|Cg{V8io1QVZlT#WapVy3<2P?V4_rjBWONY<>Y{l zOtIeR#f?FMP?sOQ9avnj=7o2cBJWi^PSZ-H?%^m`&^p;Ipm3bip_FmoWO@G>n%zfa zn3@dD69%h`0X*ZM($vQrc*9uW^Zk&|ICGG3@*j_0#p@VYXjtf&8-kD?y}ug0n$P6x z0HJsHfkWofEQibqi-l5OPo8y6V{OV${IrI^YyXx#`2tvRa!)S(eNX;l1TnG?hkpno z*3&hZbjM6a6(h<2odW^1_1E3|>@ecT45xE7H{gXPNzkb_j{~E7j-IVv5hy6b>`J)v z8aGjWgA)~y<5_a4&)%c7#V*c~vs&w;vT3cOlch?$;nIn&TRq-&lusP^9dM zVOiSzS;pOkl=-T);+@wq3tdGMtw@qz+H1b)9}fx2BbC4Yc9G#=v7aZ7t4lS*X!8jU z?R%BZiY{+9j40j`os$tW@2nBF`B#UNEKdsvEJoK5eez2>!;UV{I(bQ_h(1xeCbNpEQJN;S;^0RnkC%~Be}Z(p z`dBNqeM$Hm%A;31$ge9VRu*jE827}_Wldua{;_lV(Am7vRMlFSus(&S`b!=L^))4P z4t|YZ{VIWMn>Jrgdfzs&r^^pMFU_vmb7E(~X7$s1fn zrpn;>%_w{%cY>nJCHd!k@~13Z4!bRrA5pC7zZo5;Qn1h`l>2e{+PwAyCw3@vtUnyp zNJ#Nn%6HfDdQE#8xEQJ|P(%L=YX32whDn5jfolOzz-#M) zvk(x`p*xw>L6ZM4{{AbZDwF0tA1k zso@#%Qp_piAT^)2qHao9ysVj|M7H#GF5zu!iLh4{Y{~y_Rq94}i#c~3P8)Dmn?Kxn zw2KCNE?^c}@pil%S;DwhtGJ4=e3kY4ibhW`?t{aKVoO!{^-$~F;M91A9BMeE7RxB z_1*It|6S0Vv4f{TPfvrO{XYeIf502q*ZC~_8VPD-WW$UdFeBp!6Pp1W%~;4NG5jBz z*v@vgllHZRvzt~RDToMu>i-uEZ08>gY~)9~f62h+c%JIQ+jseKt_fo`#%NzrfgGj! z)uFZ#{Ka;*zOt|5o@8;j`chL+OIXiH|J%3=S4#KKfAZ=4P`JA%r|jep`Ni!+nBrX-UMlBLe!=!e9Uv@K`m(G->+8v9+qBR5 z`|a-bG=1^zdR|cG)^B0{8y+?-<=MWV&u~zD>FR)eYvjlcdy5Jek8fDFD=aha5V^B= z?sC=gM;u?^im@P%gadg?jq&90zwU z93?G@8yG9KIWqc)x}F$Li7jKamT(<4JU4i`^)B-S^_ujD)5$2A#0kkXRd>VVKKGk> zm*pjFqAlWlo~!XP{js*DkjhA%mb;SNX!B9W`^u-Q%DQ(QFEKA{X%{zhc%1S{b$5|q z5Pb6-onY4!ux2E0vzFu)xeBkEV-GAB=QyvvQ_$J8>`CY&&-xpW;JPnu&mAUsYgahE z*e4@ypmn}|Ih*Di-h5}>`)|0Eq;6NQ*OlQsdta~nreDS*daA8Z0TUAs{H{cnf&HZ5 zf3bm3IG-EX+20TJF`^JhU3ShfO~=TVo6#TdrMZA;Bl5z0#wD0hdysJ+W}Nw3jDw$k zTk-3U_#EBcSU=*^)wkBuu)tfv8oIhV7I-ySWzwjS|Iw(xxv~C_Dx3rO&wjv904>0O z{un-cM*yM;&}`77x?S5~`FZ@`Z9iQ-9X;=v3_TEXiDbaB0EQ-mXMmvz4&AlDrjUDz z0dT#8XRs4PFBn3DsB8|_^E{Wy3iShgNCmxFucPtcYm&*NJe}v_ZmMo?5puYLW&fCLbk8KQ+5UCbwu@P^ zZT%Idk@qm(^FTD7PTuV}^*IN5Xbd-nfbcmaVJP8s%#t z*Tyw@8^no=LBCG3Z4Ul6oARJ5%Z^vciuKoA zJ(&6N=%XbyTh$A$7vwJ=d(_Lf6ZItKgWA4otIi?56XUTZsiUY{>;)#>VqVTm`@s*H1yM`MW>jX*B%)>|Cf~I{snHBX7&ZPX$#0A9lF|*&fcy% zw~{{An!R@hp)n(1^1WkCzMcQM!p+9@HM|N|hwa*{Y zs?iT$)%jHJaKp~f1w(Mug0nP-#tXhnUmp9Aels_{ z>D*2l?OczG6huSLi!(m%t8#u}H7tKTMt1buv95+S{e$mB^EbM$?2anFa(1{2hd)z! zcJ&djk9*kcNS7xY+JBKh+g8mCz CoFvo$ literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 00000000..a71d66ca --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,4391 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + +

    + Specification to disable parallelization. + + + + + Enum to specify whether the data is stored as property or in method. + + + + + Data is declared as property. + + + + + Data is declared in method. + + + + + Attribute to define dynamic data for a test method. + + + + + Initializes a new instance of the class. + + + The name of method or property having test data. + + + Specifies whether the data is stored as property or in method. + + + + + Initializes a new instance of the class when the test data is present in a class different + from test method's class. + + + The name of method or property having test data. + + + The declaring type of property or method having data. Useful in cases when declaring type is present in a class different from + test method's class. If null, declaring type defaults to test method's class type. + + + Specifies whether the data is stored as property or in method. + + + + + Gets or sets the name of method used to customize the display name in test results. + + + + + Gets or sets the declaring type used to customize the display name in test results. + + + + + + + + + + + Specification for parallelization level for a test run. + + + + + The default scope for the parallel run. Although method level gives maximum parallelization, the default is set to + class level to enable maximum number of customers to easily convert their tests to run in parallel. In most cases within + a class tests aren't thread safe. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of workers to be used for the parallel run. + + + + + Gets or sets the scope of the parallel run. + + + To enable all classes to run in parallel set this to . + To get the maximum parallelization level set this to . + + + + + Parallel execution mode. + + + + + Each thread of execution will be handed a TestClass worth of tests to execute. + Within the TestClass, the test methods will execute serially. + + + + + Each thread of execution will be handed TestMethods to execute. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define inline data for a test method. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is false. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is true. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null. + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is not equal to . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Determines whether the first collection is a subset of the second + collection. If either set contains duplicate elements, the number + of occurrences of the element in the subset must be less than or + equal to the number of occurrences in the superset. + + + The collection the test expects to be contained in . + + + The collection the test expects to contain . + + + True if is a subset of + , false otherwise. + + + + + Constructs a dictionary containing the number of occurrences of each + element in the specified collection. + + + The collection to process. + + + The number of null elements in the collection. + + + A dictionary containing the number of occurrences of each element + in the specified collection. + + + + + Finds a mismatched element between the two collections. A mismatched + element is one that appears a different number of times in the + expected collection than it does in the actual collection. The + collections are assumed to be different non-null references with the + same number of elements. The caller is responsible for this level of + verification. If there is no mismatched element, the function returns + false and the out parameters should not be used. + + + The first collection to compare. + + + The second collection to compare. + + + The expected number of occurrences of + or 0 if there is no mismatched + element. + + + The actual number of occurrences of + or 0 if there is no mismatched + element. + + + The mismatched element (may be null) or null if there is no + mismatched element. + + + true if a mismatched element was found; false otherwise. + + + + + compares the objects using object.Equals + + + + + Base class for Framework Exceptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + 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 Access string has invalid syntax.. + + + + + Looks up a localized string similar to The expected collection contains {1} occurrence(s) of <{2}>. The actual collection contains {3} occurrence(s). {0}. + + + + + Looks up a localized string similar to Duplicate item found:<{1}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Case is different for actual value:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference no greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1} ({2})>. Actual:<{3} ({4})>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected any value except:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Do not pass value types to AreSame(). Values converted to Object will never be the same. Consider using AreEqual(). {0}. + + + + + Looks up a localized string similar to {0} failed. {1}. + + + + + Looks up a localized string similar to async TestMethod with UITestMethodAttribute are not supported. Either remove async or use TestMethodAttribute.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + The test class attribute. + + + + + Gets a test method attribute that enables running this test. + + The test method attribute instance defined on this method. + The to be used to run this test. + Extensions can override this method to customize how all methods in a class are run. + + + + The test method attribute. + + + + + Executes a test method. + + The test method to execute. + An array of TestResult objects that represent the outcome(s) of the test. + Extensions can override this method to customize running a TestMethod. + + + + Attribute for data driven test where data can be specified inline. + + + + + The test initialize attribute. + + + + + The test cleanup attribute. + + + + + The ignore attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets the owner. + + + + + The test property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + The class initialize attribute. + + + + + The class cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The assembly cleanup attribute. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + CSS Project Structure URI + + + + + Initializes a new instance of the class for CSS Project Structure URI. + + The CSS Project Structure URI. + + + + Gets the CSS Project Structure URI. + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + WorkItem attribute; used to specify a work item associated with this test. + + + + + Initializes a new instance of the class for the WorkItem Attribute. + + The Id to a work item. + + + + Gets the Id to a workitem associated. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Specifies connection string, table name and row access method for data driven testing. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + The default provider name for DataSource. + + + + + The default data access method. + + + + + Initializes a new instance of the class. This instance will be initialized with a data provider, connection string, data table and data access method to access the data source. + + Invariant data provider name, such as System.Data.SqlClient + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + Specifies the order to access data. + + + + Initializes a new instance of the class.This instance will be initialized with a connection string and table name. + Specify connection string and data table to access OLEDB data source. + + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + + + + Initializes a new instance of the class. This instance will be initialized with a data provider and connection string associated with the setting name. + + The name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + Gets a value representing the data provider of the data source. + + + The data provider name. If a data provider was not designated at object initialization, the default provider of System.Data.OleDb will be returned. + + + + + Gets a value representing the connection string for the data source. + + + + + Gets a value indicating the table name providing data. + + + + + Gets the method used to access the data source. + + + + One of the values. If the is not initialized, this will return the default value . + + + + + Gets the name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..740d01fd3857259353f56a8c44745531ec2ebd99 GIT binary patch literal 73384 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 LZzAJ}Rd)Ul&m9{B literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..5b20a571 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Třída TestContext. Tato třída by měla být zcela abstraktní a neměla by obsahovat žádné + členy. Členy implementuje adaptér. Uživatelé rozhraní by měli + k této funkci přistupovat jenom prostřednictvím dobře definovaného rozhraní. + + + + + Získá vlastnosti testu. + + + + + Získá plně kvalifikovaný název třídy obsahující aktuálně prováděnou testovací metodu. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Získá název aktuálně prováděné testovací metody. + + + + + Získá aktuální výsledek testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..3f446b4e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..81af0036 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Die TestContext-Klasse. Diese Klasse muss vollständig abstrakt sein und keine + Member enthalten. Der Adapter implementiert die Member. Benutzer im Framework sollten + darauf nur über eine klar definierte Schnittstelle zugreifen. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die Testmethode enthält, die zurzeit ausgeführt wird. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..ae680260 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..47b3d8ca --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Clase TestContext. Esta clase debe ser totalmente abstracta y no contener ningún + miembro. El adaptador implementará los miembros. Los usuarios del marco solo deben + tener acceso a esta clase a través de una interfaz bien definida. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..5b05af93 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..2c1d88ab --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Classe TestContext. Cette classe doit être complètement abstraite, et ne doit contenir aucun + membre. L'adaptateur va implémenter les membres. Les utilisateurs du framework ne doivent + y accéder que via une interface bien définie. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..2d63dc05 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..45a5e139 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Classe TestContext. Questa classe deve essere completamente astratta e non deve + contenere membri. I membri verranno implementati dall'adattatore. Gli utenti del framework devono + accedere a questa classe solo tramite un'interfaccia correttamente definita. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..d3540c8e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..c863ca9c --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + TestContext クラス。このクラスは完全に抽象的でなければならず、かつメンバー + を含んでいてはなりません。アダプターはメンバーを実装します。フレームワーク内のユーザーは + 正しく定義されたインターフェイスを介してのみこのクラスにアクセスする必要があります。 + + + + + テストのテスト プロパティを取得します。 + + + + + 現在実行中のテスト メソッドを含むクラスの完全修飾名を取得する + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 現在実行中のテスト メソッドの名前を取得する + + + + + 現在のテスト成果を取得します。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..922b5b17 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..8099563a --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + TestContext 클래스. 이 클래스는 완전히 추상 클래스여야 하며 멤버를 포함할 + 수 없습니다. 어댑터는 멤버를 구현합니다. 프레임워크의 사용자는 + 잘 정의된 인터페이스를 통해서만 여기에 액세스할 수 있습니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..22e769ac --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..d507bf25 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Klasa TestContext. Ta klasa powinna być w pełni abstrakcyjna i nie może zawierać żadnych + elementów członkowskich. Adapter zaimplementuje elementy członkowskie. Użytkownicy platformy powinni + uzyskiwać dostęp do tego elementu tylko za pośrednictwem prawidłowo zdefiniowanego interfejsu. + + + + + Pobiera właściwości testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej aktualnie wykonywaną metodę testową + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..55933843 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..7fe8bcac --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Classe TestContext. Essa classe deve ser totalmente abstrata e não conter nenhum + membro. O adaptador implementará os membros. Os usuários na estrutura devem + acessá-la somente por meio de uma interface bem definida. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém o Nome totalmente qualificado da classe contendo o método de teste executado no momento + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtém o Nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..2b63dd5e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..f6977067 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Класс TestContext. Этот класс должен быть полностью абстрактным и не должен содержать ни одного элемента. + Элементы будут реализованы в адаптере. Пользователи платформы должны обращаться к этому классу + только при помощи четко определенного интерфейса. + + + + + Получает свойства теста. + + + + + Получает полное имя класса, содержащего метод теста, который выполняется в данный момент + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Получает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..f278594a --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..cfddb524 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + TestContext sınıfı. Bu sınıf tamamen soyut olmalı ve herhangi bir üye + içermemelidir. Üyeler bağdaştırıcı tarafından uygulanır. Çerçevedeki kullanıcılar + buna yalnızca iyi tanımlanmış bir arabirim üzerinden erişmelidir. + + + + + Bir testin test özelliklerini alır. + + + + + O anda yürütülen test metodunu içeren sınıfın tam adını alır + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Yürütülmekte olan test metodunun Adını alır + + + + + Geçerli test sonucunu alır. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..b7a00291 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..c839eabe --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用于为预测试部署指定部署项(文件或目录)。 + 可在测试类或测试方法上指定。 + 可使用多个特性实例来指定多个项。 + 项路径可以是绝对路径或相对路径,如果为相对路径,则相对于 RunConfig.RelativePathRoot。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 初始化 类的新实例。 + + 要部署的文件或目录。路径与生成输出目录相关。将项复制到与已部署测试程序集相同的目录。 + + + + 初始化 类的新实例 + + 要部署的文件或目录的相对路径或绝对路径。该路径相对于生成输出目录。将项复制到与已部署测试程序集相同的目录。 + 要将项复制到其中的目录路径。它可以是绝对部署目录或相对部署目录。所有由以下对象标识的文件和目录: 将复制到此目录。 + + + + 获取要复制的源文件或文件夹的路径。 + + + + + 获取将项复制到其中的目录路径。 + + + + + TestContext 类。此类应完全抽象,且不包含任何 + 成员。适配器将实现成员。框架中的用户应 + 仅通过定义完善的接口对此进行访问。 + + + + + 获取测试的测试属性。 + + + + + 获取包含当前正在执行的测试方法的类的完全限定名称 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 获取当前正在执行的测试方法的名称 + + + + + 获取当前测试结果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..0ccce3fa --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..f335cdfc --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + TestContext 類別。這個類別應該是完全抽象的,而且未包含任何 + 成員。配接器將會實作成員。架構中的使用者只 + 應透過妥善定義的介面來存取這個項目。 + + + + + 取得測試的測試屬性。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..611e17b6 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 00000000..e6410aa5 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + Execute test code in UI thread for Windows store apps. + + + + + Executes the test method on the UI Thread. + + + The test method. + + + An array of instances. + + Throws when run on an async test method. + + + + + TestContext class. This class should be fully abstract and not contain any + members. The adapter will implement the members. Users in the framework should + only access this via a well-defined interface. + + + + + Gets test properties for a test. + + + + + Gets Fully-qualified name of the class containing the test method currently being executed + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Gets the Name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..a199f9e286a84f73b5baef0876f1df1678dec044 GIT binary patch literal 25744 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 literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 00000000..a71d66ca --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,4391 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Specification to disable parallelization. + + + + + Enum to specify whether the data is stored as property or in method. + + + + + Data is declared as property. + + + + + Data is declared in method. + + + + + Attribute to define dynamic data for a test method. + + + + + Initializes a new instance of the class. + + + The name of method or property having test data. + + + Specifies whether the data is stored as property or in method. + + + + + Initializes a new instance of the class when the test data is present in a class different + from test method's class. + + + The name of method or property having test data. + + + The declaring type of property or method having data. Useful in cases when declaring type is present in a class different from + test method's class. If null, declaring type defaults to test method's class type. + + + Specifies whether the data is stored as property or in method. + + + + + Gets or sets the name of method used to customize the display name in test results. + + + + + Gets or sets the declaring type used to customize the display name in test results. + + + + + + + + + + + Specification for parallelization level for a test run. + + + + + The default scope for the parallel run. Although method level gives maximum parallelization, the default is set to + class level to enable maximum number of customers to easily convert their tests to run in parallel. In most cases within + a class tests aren't thread safe. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the number of workers to be used for the parallel run. + + + + + Gets or sets the scope of the parallel run. + + + To enable all classes to run in parallel set this to . + To get the maximum parallelization level set this to . + + + + + Parallel execution mode. + + + + + Each thread of execution will be handed a TestClass worth of tests to execute. + Within the TestClass, the test methods will execute serially. + + + + + Each thread of execution will be handed TestMethods to execute. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define inline data for a test method. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + The message to include in the exception when + is false. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is false. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + Thrown if is true. + + + + + Tests whether the specified condition is false and throws an exception + if the condition is true. + + + The condition the test expects to be false. + + + The message to include in the exception when + is true. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is true. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + Thrown if is not null. + + + + + Tests whether the specified object is null and throws an exception + if it is not. + + + The object the test expects to be null. + + + The message to include in the exception when + is not null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + Thrown if is null. + + + + + Tests whether the specified object is non-null and throws an exception + if it is null. + + + The object the test expects not to be null. + + + The message to include in the exception when + is null. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null. + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects both refer to the same object and + throws an exception if the two inputs do not refer to the same object. + + + The first object to compare. This is the value the test expects. + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not the same as . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not refer to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified objects refer to different objects and + throws an exception if the two inputs refer to the same object. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is the same as . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if refers to the same object + as . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is not equal to . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are equal and throws an exception + if the two values are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the tests expects. + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified values are unequal and throws an exception + if the two values are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The type of values to compare. + + + The first value to compare. This is the value the test expects not + to match . + + + The second value to compare. This is the value produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are equal and throws an exception + if the two objects are not equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the object the tests expects. + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified objects are unequal and throws an exception + if the two objects are equal. Different numeric types are treated + as unequal even if the logical values are equal. 42L is not equal to 42. + + + The first object to compare. This is the value the test expects not + to match . + + + The second object to compare. This is the object produced by the code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are equal and throws an exception + if they are not equal. + + + The first float to compare. This is the float the tests expects. + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified floats are unequal and throws an exception + if they are equal. + + + The first float to compare. This is the float the test expects not to + match . + + + The second float to compare. This is the float produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws + + AssertFailedException + + if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + Thrown if does not begin with + . + + + + + Tests whether the specified string begins with the specified substring + and throws an exception if the test string does not start with the + substring. + + + The string that is expected to begin with . + + + The string expected to be a prefix of . + + + The message to include in the exception when + does not begin with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not begin with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + Thrown if does not end with + . + + + + + Tests whether the specified string ends with the specified substring + and throws an exception if the test string does not end with the + substring. + + + The string that is expected to end with . + + + The string expected to be a suffix of . + + + The message to include in the exception when + does not end with . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects. + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to + . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified collections are unequal and throws an exception + if the two collections are equal. Equality is defined as having the same + elements in the same order and quantity. Different references to the same + value are considered equal. + + + The first collection to compare. This is the collection the tests expects + not to match . + + + The second collection to compare. This is the collection produced by the + code under test. + + + The compare implementation to use when comparing elements of the collection. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Determines whether the first collection is a subset of the second + collection. If either set contains duplicate elements, the number + of occurrences of the element in the subset must be less than or + equal to the number of occurrences in the superset. + + + The collection the test expects to be contained in . + + + The collection the test expects to contain . + + + True if is a subset of + , false otherwise. + + + + + Constructs a dictionary containing the number of occurrences of each + element in the specified collection. + + + The collection to process. + + + The number of null elements in the collection. + + + A dictionary containing the number of occurrences of each element + in the specified collection. + + + + + Finds a mismatched element between the two collections. A mismatched + element is one that appears a different number of times in the + expected collection than it does in the actual collection. The + collections are assumed to be different non-null references with the + same number of elements. The caller is responsible for this level of + verification. If there is no mismatched element, the function returns + false and the out parameters should not be used. + + + The first collection to compare. + + + The second collection to compare. + + + The expected number of occurrences of + or 0 if there is no mismatched + element. + + + The actual number of occurrences of + or 0 if there is no mismatched + element. + + + The mismatched element (may be null) or null if there is no + mismatched element. + + + true if a mismatched element was found; false otherwise. + + + + + compares the objects using object.Equals + + + + + Base class for Framework Exceptions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + 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 Access string has invalid syntax.. + + + + + Looks up a localized string similar to The expected collection contains {1} occurrence(s) of <{2}>. The actual collection contains {3} occurrence(s). {0}. + + + + + Looks up a localized string similar to Duplicate item found:<{1}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Case is different for actual value:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference no greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected:<{1} ({2})>. Actual:<{3} ({4})>. {0}. + + + + + Looks up a localized string similar to Expected:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Expected a difference greater than <{3}> between expected value <{1}> and actual value <{2}>. {0}. + + + + + Looks up a localized string similar to Expected any value except:<{1}>. Actual:<{2}>. {0}. + + + + + Looks up a localized string similar to Do not pass value types to AreSame(). Values converted to Object will never be the same. Consider using AreEqual(). {0}. + + + + + Looks up a localized string similar to {0} failed. {1}. + + + + + Looks up a localized string similar to async TestMethod with UITestMethodAttribute are not supported. Either remove async or use TestMethodAttribute.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + The test class attribute. + + + + + Gets a test method attribute that enables running this test. + + The test method attribute instance defined on this method. + The to be used to run this test. + Extensions can override this method to customize how all methods in a class are run. + + + + The test method attribute. + + + + + Executes a test method. + + The test method to execute. + An array of TestResult objects that represent the outcome(s) of the test. + Extensions can override this method to customize running a TestMethod. + + + + Attribute for data driven test where data can be specified inline. + + + + + The test initialize attribute. + + + + + The test cleanup attribute. + + + + + The ignore attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets the owner. + + + + + The test property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + The class initialize attribute. + + + + + The class cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The assembly cleanup attribute. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + CSS Project Structure URI + + + + + Initializes a new instance of the class for CSS Project Structure URI. + + The CSS Project Structure URI. + + + + Gets the CSS Project Structure URI. + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + WorkItem attribute; used to specify a work item associated with this test. + + + + + Initializes a new instance of the class for the WorkItem Attribute. + + The Id to a work item. + + + + Gets the Id to a workitem associated. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Specifies connection string, table name and row access method for data driven testing. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + The default provider name for DataSource. + + + + + The default data access method. + + + + + Initializes a new instance of the class. This instance will be initialized with a data provider, connection string, data table and data access method to access the data source. + + Invariant data provider name, such as System.Data.SqlClient + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + Specifies the order to access data. + + + + Initializes a new instance of the class.This instance will be initialized with a connection string and table name. + Specify connection string and data table to access OLEDB data source. + + + Data provider specific connection string. + WARNING: The connection string can contain sensitive data (for example, a password). + The connection string is stored in plain text in source code and in the compiled assembly. + Restrict access to the source code and assembly to protect this sensitive information. + + The name of the data table. + + + + Initializes a new instance of the class. This instance will be initialized with a data provider and connection string associated with the setting name. + + The name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + Gets a value representing the data provider of the data source. + + + The data provider name. If a data provider was not designated at object initialization, the default provider of System.Data.OleDb will be returned. + + + + + Gets a value representing the connection string for the data source. + + + + + Gets a value indicating the table name providing data. + + + + + Gets the method used to access the data source. + + + + One of the values. If the is not initialized, this will return the default value . + + + + + Gets the name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. + + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..740d01fd3857259353f56a8c44745531ec2ebd99 GIT binary patch literal 73384 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 LZzAJ}Rd)Ul&m9{B literal 0 HcmV?d00001 diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..4fa96573 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Spustí testovací kód ve vlákně uživatelského rozhraní pro aplikace pro Windows Store. + + + + + Spustí testovací metodu ve vlákně uživatelského rozhraní. + + + Testovací metoda + + + Pole instance + + Throws when run on an async test method. + + + + + Třída TestContext. Tato třída by měla být zcela abstraktní a neměla by obsahovat žádné + členy. Členy implementuje adaptér. Uživatelé rozhraní by měli + k této funkci přistupovat jenom prostřednictvím dobře definovaného rozhraní. + + + + + Získá vlastnosti testu. + + + + + Získá plně kvalifikovaný název třídy obsahující aktuálně prováděnou testovací metodu. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Získá název aktuálně prováděné testovací metody. + + + + + Získá aktuální výsledek testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..3f446b4e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..3d6c9680 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Hiermit wird Testcode im UI-Thread für Windows Store-Apps ausgeführt. + + + + + Hiermit wird die Testmethode für den UI-Thread ausgeführt. + + + Die Testmethode. + + + Ein Array aus -Instanzen. + + Throws when run on an async test method. + + + + + Die TestContext-Klasse. Diese Klasse muss vollständig abstrakt sein und keine + Member enthalten. Der Adapter implementiert die Member. Benutzer im Framework sollten + darauf nur über eine klar definierte Schnittstelle zugreifen. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die Testmethode enthält, die zurzeit ausgeführt wird. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..ae680260 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..6655c2f6 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Ejecuta el código de la prueba en el subproceso de la interfaz de usuario para aplicaciones de la Tienda Windows. + + + + + Ejecuta el método de prueba en el subproceso de la interfaz de usuario. + + + El método de prueba. + + + Una matriz de Instancias. + + Throws when run on an async test method. + + + + + Clase TestContext. Esta clase debe ser totalmente abstracta y no contener ningún + miembro. El adaptador implementará los miembros. Los usuarios del marco solo deben + tener acceso a esta clase a través de una interfaz bien definida. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..5b05af93 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..356cec50 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Exécutez le code de test dans le thread d'IU (interface utilisateur) pour les applications du Windows Store. + + + + + Exécute la méthode de test sur le thread d'IU (interface utilisateur). + + + Méthode de test. + + + Tableau de instances. + + Throws when run on an async test method. + + + + + Classe TestContext. Cette classe doit être complètement abstraite, et ne doit contenir aucun + membre. L'adaptateur va implémenter les membres. Les utilisateurs du framework ne doivent + y accéder que via une interface bien définie. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..2d63dc05 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..8b061c2b --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Esegue il codice di test nel thread dell'interfaccia utente per le app di Windows Store. + + + + + Esegue il metodo di test sul thread dell'interfaccia utente. + + + Metodo di test. + + + Matrice di . + + Throws when run on an async test method. + + + + + Classe TestContext. Questa classe deve essere completamente astratta e non deve + contenere membri. I membri verranno implementati dall'adattatore. Gli utenti del framework devono + accedere a questa classe solo tramite un'interfaccia correttamente definita. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..d3540c8e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..7f0704e6 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + Windows ストア アプリの UI スレッドでテスト コードを実行します。 + + + + + UI スレッドで対象テスト メソッドを実行します。 + + + テスト メソッド。 + + + 次の配列 インスタンス。 + + Throws when run on an async test method. + + + + + TestContext クラス。このクラスは完全に抽象的でなければならず、かつメンバー + を含んでいてはなりません。アダプターはメンバーを実装します。フレームワーク内のユーザーは + 正しく定義されたインターフェイスを介してのみこのクラスにアクセスする必要があります。 + + + + + テストのテスト プロパティを取得します。 + + + + + 現在実行中のテスト メソッドを含むクラスの完全修飾名を取得する + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 現在実行中のテスト メソッドの名前を取得する + + + + + 現在のテスト成果を取得します。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..922b5b17 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..93582a16 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + Windows 스토어 앱에 대한 UI 스레드에서 테스트 코드를 실행합니다. + + + + + UI 스레드에서 테스트 메서드를 실행합니다. + + + 테스트 메서드입니다. + + + 배열 인스턴스. + + Throws when run on an async test method. + + + + + TestContext 클래스. 이 클래스는 완전히 추상 클래스여야 하며 멤버를 포함할 + 수 없습니다. 어댑터는 멤버를 구현합니다. 프레임워크의 사용자는 + 잘 정의된 인터페이스를 통해서만 여기에 액세스할 수 있습니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..22e769ac --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..4b958bf7 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Wykonaj kod testowy w wątku interfejsu użytkownika dla aplikacji ze Sklepu Windows. + + + + + Wykonuje metodę testową w wątku interfejsu użytkownika. + + + Metoda testowa. + + + Tablica elementów wystąpienia. + + Throws when run on an async test method. + + + + + Klasa TestContext. Ta klasa powinna być w pełni abstrakcyjna i nie może zawierać żadnych + elementów członkowskich. Adapter zaimplementuje elementy członkowskie. Użytkownicy platformy powinni + uzyskiwać dostęp do tego elementu tylko za pośrednictwem prawidłowo zdefiniowanego interfejsu. + + + + + Pobiera właściwości testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej aktualnie wykonywaną metodę testową + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..55933843 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..d5c4cce3 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Executar código de teste no thread da Interface do Usuário para Aplicativos da Windows Store. + + + + + Executa o método de teste no Thread da Interface do Usuário. + + + O Método de teste. + + + Uma matriz de instâncias. + + Throws when run on an async test method. + + + + + Classe TestContext. Essa classe deve ser totalmente abstrata e não conter nenhum + membro. O adaptador implementará os membros. Os usuários na estrutura devem + acessá-la somente por meio de uma interface bem definida. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém o Nome totalmente qualificado da classe contendo o método de teste executado no momento + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtém o Nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..2b63dd5e --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..8221c4a5 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Выполнение кода теста в потоке пользовательского интерфейса для приложений Магазина Windows. + + + + + Выполнение метода теста для потока пользовательского интерфейса. + + + Метод теста. + + + Массив экземпляры. + + Throws when run on an async test method. + + + + + Класс TestContext. Этот класс должен быть полностью абстрактным и не должен содержать ни одного элемента. + Элементы будут реализованы в адаптере. Пользователи платформы должны обращаться к этому классу + только при помощи четко определенного интерфейса. + + + + + Получает свойства теста. + + + + + Получает полное имя класса, содержащего метод теста, который выполняется в данный момент + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Получает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..f278594a --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..a5125608 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + Windows mağazası uygulamaları için UI iş parçacığında test kodunu çalıştırır. + + + + + UI İş Parçacığında test metodunu çalıştırır. + + + Test metodu. + + + Bir örnekler. + + Throws when run on an async test method. + + + + + TestContext sınıfı. Bu sınıf tamamen soyut olmalı ve herhangi bir üye + içermemelidir. Üyeler bağdaştırıcı tarafından uygulanır. Çerçevedeki kullanıcılar + buna yalnızca iyi tanımlanmış bir arabirim üzerinden erişmelidir. + + + + + Bir testin test özelliklerini alır. + + + + + O anda yürütülen test metodunu içeren sınıfın tam adını alır + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Yürütülmekte olan test metodunun Adını alır + + + + + Geçerli test sonucunu alır. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..b7a00291 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..0eaba922 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用于为预测试部署指定部署项(文件或目录)。 + 可在测试类或测试方法上指定。 + 可使用多个特性实例来指定多个项。 + 项路径可以是绝对路径或相对路径,如果为相对路径,则相对于 RunConfig.RelativePathRoot。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + 初始化 类的新实例。 + + 要部署的文件或目录。路径与生成输出目录相关。将项复制到与已部署测试程序集相同的目录。 + + + + 初始化 类的新实例 + + 要部署的文件或目录的相对路径或绝对路径。该路径相对于生成输出目录。将项复制到与已部署测试程序集相同的目录。 + 要将项复制到其中的目录路径。它可以是绝对部署目录或相对部署目录。所有由以下对象标识的文件和目录: 将复制到此目录。 + + + + 获取要复制的源文件或文件夹的路径。 + + + + + 获取将项复制到其中的目录路径。 + + + + + 在 Windows 应用商店应用的 UI 线程中执行测试代码。 + + + + + 在 UI 线程上执行测试方法。 + + + 测试方法。 + + + 一系列实例。 + + Throws when run on an async test method. + + + + + TestContext 类。此类应完全抽象,且不包含任何 + 成员。适配器将实现成员。框架中的用户应 + 仅通过定义完善的接口对此进行访问。 + + + + + 获取测试的测试属性。 + + + + + 获取包含当前正在执行的测试方法的类的完全限定名称 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 获取当前正在执行的测试方法的名称 + + + + + 获取当前测试结果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..0ccce3fa --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..0eca8817 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + 在 Windows 市集應用程式的 UI 執行緒執行測試程式碼。 + + + + + 在 UI 執行緒執行測試方法。 + + + 測試方法。 + + + 下列項目的陣列: 執行個體。 + + Throws when run on an async test method. + + + + + TestContext 類別。這個類別應該是完全抽象的,而且未包含任何 + 成員。配接器將會實作成員。架構中的使用者只 + 應透過妥善定義的介面來存取這個項目。 + + + + + 取得測試的測試屬性。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 00000000..611e17b6 --- /dev/null +++ b/packages/MSTest.TestFramework.1.3.2/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/packages/SpecFlow.1.9.0/.signature.p7s b/packages/SpecFlow.1.9.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..73b641e11e5947e7d9150411b175130563bc6e57 GIT binary patch literal 9480 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

  • X`jC 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

    Pkl%giE;QL>vkmlb28z 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

    iba0^@i3Nf&`T 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�Lv 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

    T1M9VLep@jo!@xu=pMp8r&lKYi?cr)2 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 z

    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%0AB@d(n{kN)7ULd-%2O)w0w<11Y* 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ϟa@0t8q+ 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%0AD5@o8sU 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%0Av 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

    ^HGSj3P#nk_pUcvB`C2nz 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 Rl1CYR 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 z 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�JnMJH<8rX)k`E*;E!~L4(xS!+M-9bR+Zo-t*qO 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 z%0DqR@*nz-EKH(cC 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 Sw8>Xd>(1 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

    nx*I>SPd=UCYX4jsF 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%0AP@N>G8BZMCIN1y`5l41Posvd^6M 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

    @KQ=9t-+c9Bz{lZq(U=%ocHT(?J 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

    @#Ahcb`83|PrR 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�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%0A;~4>kBTo8Q_cW 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

    V zs90t$It73b{~!3HNDjaxAb!+l`Q-dKp#S}ZL|)d%X37nJ%$39$On!gC-UqtXKmx%r z(gCofxzzp_7AW%k&{B`j@jby!7R#O%xseno&@ybNYH8Ny2F+}6k}U^h3BCwF-c)L0 znbxGxkJ9WCAuPzUCnTXQ(E2k$dB#WmCt)xbCyipDqLYb|j1dC=E(C9IJ5#3m5wmXT zBqqO~y5Tab^EnT;`%w6PBH?67FdLxn9rA>!gzM)5We`VAKfta)!PeHYui4%Ikfpds z-L^wwJQB*{=L%$ZP4)nPA$0UUC-`Y57v6psxy729Y&OW=nG^@t@MeS8dlQs_Ho)}) zaFq}K+|A45v%3v_-+|)Ik=$;xVc04$bJD+30)iCxW00{qlz`w0;S3uA$Et{Yah6i@ zqcR;zK$C42o#BsQNxbV2{&^d@ChaIN4O#54H=1^a7O2c4cMX%zj0 zVYG&g@aaHnJF1Xj@z{e=G9mO}Eo*>Skh>(>O$^ndP)lkcM+9HXSt^yuhtp=yJFVe} zGzvOECRPV(Ij9DC3x2?X)v)*qFA~In44+F`Lg?vYMrSa#mDPa43K_V30&N+#(6AzA z_%`WtYihgfKBsT>cxTPLbi!LRCw=(J`;m_hl{`8`EZM{7;!n;;T;NC3#CbV~s51{- z_$h-S;66NNSepu!G=BP=#`1{!pO9Nxx6D;2r%Y_j51u-%F+Xyk#;UXI`JzI@I(6Nv zBs*5bD6^cl+*L4&U0oP8EfXMnf&jTHcpM0j&CZ?tKs%6a08`d5hk(vk4gsBU4(XhU zZMopQ<88Se*3aAz-aum?>(Nt<^2=R2}jR_<-{Kq-BTc#(9 z&#Wr|MjO9!Jq2F|)O-3N6cZ9bamw#)I@N7ipU9^|vxnpo8}f(Xd!=SLj%OVmM6q7Nr zMzRkRW_f;a3n*Vuu@30o>aGBtvdP zF=;@uSZq`x*#Z#o09JshN(Qs%VGR}SD!FhC3^;^RF;9SyG$>izfk?sPDi~8?JnC@J ze_>UGb)g;8fjtg1io6kwzW-y)WU(Y&h^LLUc~?dPJ(q+tu$R6Nb7AajVON+yURZv{ zp=?gr6i3;*F;YBE-0hgyO4wn>{&)m`^1TUcn?KOfH*X9~bK0`NL$W!zx#+HQ8A&GxKNW<3 zM88ialX=SdAL|Ue6xilAMmD!MIiqOUx{!5%G_nqmJLX%MXvG0D)ZkEbMuiK;^*Vjn zfyQ(N`GDR85qS_E`s{Yj_DCk8tvP51Qx6-l2m6oy*thoTCpjCM?B78vdF+$`UK zV!^HCijy2HRTAEPF9(PN*-@BsIgw7$#ST!>HHfogdUM}^$|mpg%JUvlzAom}c&hE7 zLyG%#=CzGcgJ`M`gWJS`K3EuHE`S;y1xBSsBn4C%z+27`VtQy$U_JwU5jKT@s~Cbe zfE5^dsr%f>sPgG$~l>r3bH*Kty@*tbC&y-Wq+cJ_qP}3R0w@ty z1mj8f2Zl~0n*bz{e*#-#1wj+JmyN8l4Ck|kGmL%wg0tUN=0q9GT^sC}`ouQcfidxt zk#AyPgI%6D`yHU7 z)G}F^hxphb%rnj*%#&Iv3-i$19l|_V>R}^Ydq)<{CHgR^qf%d}$fA3zuwb1kP2$B+ z*gxp>xRuF!d=l1ucoBF&43^Gr*zrTwXpI8)q)=}}to+a#Ti}d5!wCn~ArN5;D=hN& zatkU(+C76CPTJ`p`%BA}$r96YWR2RAN(+r!ZYRU{q&|&NSO(0sZpCIwfpsgskF?%G z?qBm+`1Jn3Z`Ds0on_0nLRyuULf;rDOWLqI7E4(={LoRr@1Xf_{V=SMc;e`KTaXg) zT=H6RFUE&mtW50Yj{SmL=*G}RDoLlkiy;XOPf|*lm}o9eq%0^o1c9)sQLHGy9L7tixOZM@xhH^7)ksvj6ir!9!7e=+lbe5Q65IV z!KTqrW_iJmA%~$Qw`6(d=|Z>LiZ zk^!XSv%ll>;3@gYsMqa>8}%c8H2WE=@oATb5P)>IY#banp~Je3(`Ft_w>~kQ`cp$OEUzN?DntXibjQO_MZcpxS+t8!;tkFRV57&EK zc=DYI-2OE^!xIm8uKdc&)p^UxTi!E#^ZcO4;%_q(zZ5ZqO@P!%c|Lop+e4=F>P!Dq(#rkw+U3bRiEJki zKK%f7&#E6KzQ`srt>LcHs~o~^)%%NFcWKgX0!XQW;+DI^UQFX{Jr|Fe-DBsx0Bf10 zOl>mkUE?+cJ!ZEc!|5`p&gyY~4nbF9!|`7S)>Y8-Z6d8fix}p1l6p5qc9qm_5|{_{ zmTZF9O=ac%DQ2Bav4v(~-An|Hl|*ZkYuWyYJ(p??W3!#+^IkcGujrdcxLLywQXP5h z*8#;ctWn!a8qpY>%UM58jiS1Yjbs7~etElR!z#`+KJ`}x7e8DS`bkj*lDJJ0a(RQc zfnjz@LJDtik9qf_9A@{&_eLj(`ap%}EaE_mY3fgr_b}_-e<7q#5Izml3~ErS)79f& z4ZUc|tJBP^-u`{kgB&NStN)p+n{A$zZWYrW*azA9)RRha9F$HVej)P=T!0J;SPWiN zYlr}FUjKVB)WKEkqVWQ>J(zD8E&@_J7YS*iz?IZ#nJJWb0HM=GG?gy$A<)zLm5{sz zE(4}%lz0lELoj8Cd=yMb{LdaVo)p&tRg9&*h+Dt4=*AZ<86H-kUI76LQLSE5` zoQCNNBBvo&g;ZX`|60jPj6-x1QsKUo2+A#{nQti((TB`itrBm+N8m1EKj1flLhLSq zZ@&-4e$%U9I-{zIx*h=QQH%JOnPPM$68p`qybaZKmmz|1&z(W1mGxOnEmMsp-JH}46P0sWh@{9u5~{wm*TC~y7EbzR?9 zo6Oh}Uhx1V+eUjL7M`ZS3o5*a?gFS4H(jB2c(dNC*C4?IUqV z6gf_~eylnCGSNqP@m70Hy!n(~XfvH^x%sj?kH_+VcuZc*>=X7bM|!`P{LF#7&OZ_; z4Y_Rsc2}BZ#AP)({rn@~ULiE(!|<)EHB=#QbUmRImqIQGdO88uq7mUKR-#1}(o(X> zr=mq&CZt|yQE#;f&J#^&Q7{dXj`np4hz3uWPWeP7f|NQ9A%3Bh*ayw(DJ><4Jc2Em z^Mn+NW(AXy5}nYjU_#(%99Rd=5fTDNQC}pq6Vw6*CIpVA!Gu%@9A#lb&2>eyf+=3) z>Hl4cII%aA!1Ln~9pFtw9Pbr@&>)O#C+GiK_BsRE2Z!!@XrwHd0(wjt|Ga=`9D^WH=y^Ez_s1GmtA4g zXI|R%U>3iVd61Uv8XH|bxP3m`W6NIFMdF(gRE{8Y50N|7pf&8L$d=;SyKTh(e$bVK zkr;cANWx|OIVtIWxNo=vk?L1=!=2aoBN^_rhp1S#;m#-gs2w?mJ6L!c3=bvpt|ZDM zZ6m|@Np@$BjpNvnqQynBc~@FzVxU+#O3KW^Rx1<58zzg9v~)`=kq;&RGRoD; zM)L*_(Q-)I`bZ-0N&RstCuoZqnLOUmO|tm2~ zN?BzTQ$;C_41w0=UlQM-m^qTzU9wMx#+Z&`w4fxBIX@)_=cg28 zWrssOASX6NiprI; zD#2pMx?@zu1g4j0(cl~AFs&O^Hm8B7vlZ0uoX&L&!=J@4_y{6n=y4n*J|uVkkpet^ zx;PlG!1x#HOZyJcpalFj5lCJN2Z4nT2yic ziG>l2NeUQKFpMHk4U8ROM9PaWLJukp#%nMl&k`8hK`IO>6Jbn;$QX>5VMLx8FuK5q zl$kJQpzXtW3r6H=fw3jpK2kU&R zX)xkG85lEQM4l{+PEZa*N*YGoCk5kJQ@#Sd8J>>xJ;@!zsVD&+l9b8m79xc!47ePF zBe?kz>-Z*(5<;C3CzRw`46SH}KNcvM(=g#G?W#5IUd-TX4U3+!4^CMQF){Rvb8!kJ z%zSW44;YJhV+f3J(yNeuEsUq2GzOy!j8Ax@AB^EB*JuVbTN>z+Wu8>}W6b^&l4Jj} zAJBC(<=^N3SWEUwRK7o{{OOSbPYWYI{$+7G{Dblu9vT$cF!~?nbST~5yb&e3&l{s4 zuNG{|$AjF<>F)Bzr~Jn6$t^2M4jPfTL!9J?Qswi;|4uXV4b;X^xMWU;Oj*#&+Hu8) zyb+ljB1jIoTTo~b)$}%h#Vf+`8tS|x%(VJ-}8TFu$ zoP^()R5_zX;DIV|_qk{hcz7C2fKj8Am;eulF$E0`#%D0zLqmgcB8*7c2gdVgXfPJQ zn2Ux6qc<8FQu@J|iiQT`YZ&v;&|vh35hS$T9F*4LV1<0ae5j#KYWvwXduWY> ziH0$*^KXCWyc@eR)@5k zzcu|&_qUZ9{N(P39_L3%B?k9^b_TUkyIIL!XELVf zGg?oi&Y#hx0mDGSm<5G-xK%zvST^&yO7xSe znPS!Hud0mv&rTlBcxAH681I8WYwFUbo0yI*$nD-z0clb;l=3M=&|O%vRl|w+eXj<8 zFNU~J?Y`|9ga{8M_vN8(SF-abqGNrq?PQ_5TN>&l^^$fpj$=Ay2?g1&oTMFU zVYyTL)0sU{i;GoaBCarBaBB6=U8oyg_gwP&@e3)Pxz3r0do*>EyKbwmrInl4H$^Pk zC{&O8EpLFfd#KQ3O=y2Y^M>4cnK`N3)+s7EL^Tl~n~le48PyJt!Vm=6o{TG;+uSDtP?^#iT=2w39XS)dYm5 zO>Q?qf{X~%ZkcLTyR}w7^u`>x=MK#LQas5F*&W2C4b(nYPCF$|x&32ZTCVE%RUvTt z?L5NT>Kgluc=?> wEU7W$Ui^^#7Dfd}rxyV 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

  • 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 HZesrj!Q9B?q@0syp@A=0qPgksH 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 g4%iKB_;$yv2Mn{*lF;E%@sKeUNDYXATM literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..ae7bcd58ae5ba63aeb1efe42d1ae16d4b81c8c85 GIT binary patch literal 113296 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 ac!lU>D_?23+?%nV{(YOUS16N1gaH8SIPtsy literal 0 HcmV?d00001 diff --git a/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 00000000..f91d6214 --- /dev/null +++ b/BerlinClockUnitTests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + +