From 5ac440891ee0a6d639bd19353f8a5935becca731 Mon Sep 17 00:00:00 2001 From: Dominik Date: Sun, 14 Jun 2020 19:42:25 +0200 Subject: [PATCH] Initial commit --- Application/.vs/Application/v16/.suo | Bin 0 -> 144896 bytes .../Application/v16/TestStore/0/003.testlog | Bin 0 -> 35696 bytes .../v16/TestStore/0/testlog.manifest | Bin 0 -> 24 bytes Application/Application.sln | 31 + Application/Application/App.config | 6 + Application/Application/Application.csproj | 55 + Application/Application/FileSystem.cs | 59 + Application/Application/Program.cs | 96 + .../Application/Properties/AssemblyInfo.cs | 36 + Application/Application/User.cs | 198 + .../Application/bin/Debug/Application.exe | Bin 0 -> 9728 bytes .../bin/Debug/Application.exe.config | 6 + .../Application/bin/Debug/Application.pdb | Bin 0 -> 32256 bytes Application/Application/bin/Debug/file.txt | 0 Application/Application/bin/Debug/users.txt | 0 ...Application.csproj.CoreCompileInputs.cache | 1 + .../Application.csproj.FileListAbsolute.txt | 7 + .../Application.csprojAssemblyReference.cache | Bin 0 -> 1905 bytes .../Application/obj/Debug/Application.exe | Bin 0 -> 9728 bytes .../Application/obj/Debug/Application.pdb | Bin 0 -> 32256 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6797 bytes Application/UnitTestProject/FileSystemTest.cs | 24 + .../Properties/AssemblyInfo.cs | 20 + .../UnitTestProject/UnitTestProject.csproj | 75 + Application/UnitTestProject/UserTest.cs | 187 + .../UnitTestProject/bin/Debug/Application.exe | Bin 0 -> 9728 bytes .../bin/Debug/Application.exe.config | 6 + .../UnitTestProject/bin/Debug/Application.pdb | Bin 0 -> 32256 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 142624 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 25376 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 117016 bytes ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 40944 bytes ....TestPlatform.TestFramework.Extensions.xml | 1102 ++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 75040 bytes ...isualStudio.TestPlatform.TestFramework.xml | 4477 +++++++++++++++++ .../bin/Debug/UnitTestProject.dll | Bin 0 -> 7680 bytes .../bin/Debug/UnitTestProject.pdb | Bin 0 -> 22016 bytes .../UnitTestProject/bin/Debug/file.txt | 0 ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 20614 bytes .../Debug/UnitTestProject.csproj.CopyComplete | 0 ...TestProject.csproj.CoreCompileInputs.cache | 1 + ...nitTestProject.csproj.FileListAbsolute.txt | 17 + ...tTestProject.csprojAssemblyReference.cache | Bin 0 -> 29789 bytes .../obj/Debug/UnitTestProject.dll | Bin 0 -> 7680 bytes .../obj/Debug/UnitTestProject.pdb | Bin 0 -> 22016 bytes Application/UnitTestProject/packages.config | 5 + .../MSTest.TestAdapter.2.1.0/.signature.p7s | Bin 0 -> 9355 bytes .../MSTest.TestAdapter.2.1.0/LICENSE.txt | 23 + .../MSTest.TestAdapter.2.1.0.nupkg | Bin 0 -> 730818 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 142624 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 25376 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 117016 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 75040 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31520 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24864 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28448 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32544 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28960 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32032 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28448 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32544 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25368 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28960 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32544 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28952 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 34072 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25888 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 29984 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 33048 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28952 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32544 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28952 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32024 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28448 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 36128 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 26912 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 31000 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 32032 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 25376 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 28440 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31008 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24864 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27936 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 31008 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 24864 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 27936 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 -> 67056 bytes .../build/uap10.0/MSTest.TestAdapter.props | 20 + .../build/uap10.0/MSTest.TestAdapter.targets | 42 + ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 36336 bytes .../MSTest.TestFramework.2.1.0/.signature.p7s | Bin 0 -> 9355 bytes .../MSTest.TestFramework.2.1.0/LICENSE.txt | 23 + .../MSTest.TestFramework.2.1.0.nupkg | Bin 0 -> 997713 bytes ....TestPlatform.TestFramework.Extensions.XML | 1102 ++++ ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 40944 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4477 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 75040 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 | 139 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 25072 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4477 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 75040 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 | 118 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 27120 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4477 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 75040 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 ++++++++++++++++ 192 files changed, 202145 insertions(+) create mode 100644 Application/.vs/Application/v16/.suo create mode 100644 Application/.vs/Application/v16/TestStore/0/003.testlog create mode 100644 Application/.vs/Application/v16/TestStore/0/testlog.manifest create mode 100644 Application/Application.sln create mode 100644 Application/Application/App.config create mode 100644 Application/Application/Application.csproj create mode 100644 Application/Application/FileSystem.cs create mode 100644 Application/Application/Program.cs create mode 100644 Application/Application/Properties/AssemblyInfo.cs create mode 100644 Application/Application/User.cs create mode 100644 Application/Application/bin/Debug/Application.exe create mode 100644 Application/Application/bin/Debug/Application.exe.config create mode 100644 Application/Application/bin/Debug/Application.pdb create mode 100644 Application/Application/bin/Debug/file.txt create mode 100644 Application/Application/bin/Debug/users.txt create mode 100644 Application/Application/obj/Debug/Application.csproj.CoreCompileInputs.cache create mode 100644 Application/Application/obj/Debug/Application.csproj.FileListAbsolute.txt create mode 100644 Application/Application/obj/Debug/Application.csprojAssemblyReference.cache create mode 100644 Application/Application/obj/Debug/Application.exe create mode 100644 Application/Application/obj/Debug/Application.pdb create mode 100644 Application/Application/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Application/UnitTestProject/FileSystemTest.cs create mode 100644 Application/UnitTestProject/Properties/AssemblyInfo.cs create mode 100644 Application/UnitTestProject/UnitTestProject.csproj create mode 100644 Application/UnitTestProject/UserTest.cs create mode 100644 Application/UnitTestProject/bin/Debug/Application.exe create mode 100644 Application/UnitTestProject/bin/Debug/Application.exe.config create mode 100644 Application/UnitTestProject/bin/Debug/Application.pdb create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/UnitTestProject/bin/Debug/UnitTestProject.dll create mode 100644 Application/UnitTestProject/bin/Debug/UnitTestProject.pdb create mode 100644 Application/UnitTestProject/bin/Debug/file.txt create mode 100644 Application/UnitTestProject/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CopyComplete create mode 100644 Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CoreCompileInputs.cache create mode 100644 Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.FileListAbsolute.txt create mode 100644 Application/UnitTestProject/obj/Debug/UnitTestProject.csprojAssemblyReference.cache create mode 100644 Application/UnitTestProject/obj/Debug/UnitTestProject.dll create mode 100644 Application/UnitTestProject/obj/Debug/UnitTestProject.pdb create mode 100644 Application/UnitTestProject/packages.config create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/.signature.p7s create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/LICENSE.txt create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/MSTest.TestAdapter.2.1.0.nupkg create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/net45/MSTest.TestAdapter.props create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/net45/MSTest.TestAdapter.targets create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/netcoreapp1.0/MSTest.TestAdapter.props create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/MSTest.TestAdapter.props create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/MSTest.TestAdapter.targets create mode 100644 Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/.signature.p7s create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/LICENSE.txt create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/MSTest.TestFramework.2.1.0.nupkg create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml diff --git a/Application/.vs/Application/v16/.suo b/Application/.vs/Application/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..75de7c1b414a987324a4137fc658de199417d8ee GIT binary patch literal 144896 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 B!My+g literal 0 HcmV?d00001 diff --git a/Application/.vs/Application/v16/TestStore/0/testlog.manifest b/Application/.vs/Application/v16/TestStore/0/testlog.manifest new file mode 100644 index 0000000000000000000000000000000000000000..12ea3476212c16abe527ae0da30df0e9427adc3f GIT binary patch literal 24 acmXR;&-W=QP7PsZU|;}Y5C~=QISv3tK?JA( literal 0 HcmV?d00001 diff --git a/Application/Application.sln b/Application/Application.sln new file mode 100644 index 0000000..28c1f15 --- /dev/null +++ b/Application/Application.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30011.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Application", "Application\Application.csproj", "{D284EEC7-6387-4E75-8AB4-9578C750AF74}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestProject", "UnitTestProject\UnitTestProject.csproj", "{55561B18-4BC5-4308-B08D-4B8B7032C48F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D284EEC7-6387-4E75-8AB4-9578C750AF74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D284EEC7-6387-4E75-8AB4-9578C750AF74}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D284EEC7-6387-4E75-8AB4-9578C750AF74}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D284EEC7-6387-4E75-8AB4-9578C750AF74}.Release|Any CPU.Build.0 = Release|Any CPU + {55561B18-4BC5-4308-B08D-4B8B7032C48F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {55561B18-4BC5-4308-B08D-4B8B7032C48F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {55561B18-4BC5-4308-B08D-4B8B7032C48F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {55561B18-4BC5-4308-B08D-4B8B7032C48F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1AE5B67A-952F-4603-A76A-8108F8DAF7CE} + EndGlobalSection +EndGlobal diff --git a/Application/Application/App.config b/Application/Application/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/Application/Application/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Application/Application/Application.csproj b/Application/Application/Application.csproj new file mode 100644 index 0000000..f9ae8af --- /dev/null +++ b/Application/Application/Application.csproj @@ -0,0 +1,55 @@ + + + + + Debug + AnyCPU + {D284EEC7-6387-4E75-8AB4-9578C750AF74} + Exe + Application + Application + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Application/Application/FileSystem.cs b/Application/Application/FileSystem.cs new file mode 100644 index 0000000..31a1ed5 --- /dev/null +++ b/Application/Application/FileSystem.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace Application +{ + public class FileSystem + { + public static bool CreateFile(String filename) + { + FileStream fs = null; + try + { + //incorrect file name + if(filename.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0) + throw new Exception("Incorrect filename!"); + else + { + fs = File.Create(filename); + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + finally + { + if(!(fs==null)) + fs.Close(); + } + + if (fs != null) + return true; + else + return false; + } + + public static void SaveUsersToFile(String filename, List users) + { + try + { + using (StreamWriter writer = new StreamWriter(Path.Combine(Directory.GetCurrentDirectory(), filename))) + { + foreach (var user in users) + { + writer.WriteLine(user.FirstName); + writer.WriteLine(user.LastName); + writer.WriteLine(user.City); + writer.WriteLine(user.Pesel); + } + } + } + catch (Exception e) + { + Console.WriteLine(e.Message); + } + } + } +} diff --git a/Application/Application/Program.cs b/Application/Application/Program.cs new file mode 100644 index 0000000..21cbee5 --- /dev/null +++ b/Application/Application/Program.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Application +{ + class Program + { + private static String filename = "users.txt"; + //private static String filename = "\"\""; + static void Main(string[] args) + { + App(); + } + + static void App() + { + List list_of_users = new List(); + + if (!FileSystem.CreateFile(filename)) + { + Console.WriteLine("Cannot create file!"); + Environment.Exit(1); + } + + bool main_loop = true; + String command = ""; + + while (main_loop) + { + Console.WriteLine("1 Create new user"); + Console.WriteLine("2 Exit"); + Console.Write("Command: "); + command = Console.ReadLine(); + + // add user + if (command.Trim() == "1") + { + User user = new User(); + bool user_flag = true; + + while (user_flag) + { + Console.Write("Enter first name: "); + user.FirstName = Console.ReadLine().Trim(); + + Console.Write("Enter last name: "); + user.LastName = Console.ReadLine().Trim(); + + Console.Write("Enter city: "); + user.City = Console.ReadLine().Trim(); + + Console.Write("Enter Pesel: "); + user.Pesel = Console.ReadLine().Trim(); + + if (user.CheckingPesel()==0) + { + if (!User.UserExists(ref list_of_users, user)) + list_of_users.Add(user); + FileSystem.SaveUsersToFile(filename, list_of_users); + user_flag = false; + } + else + { + Console.WriteLine("Incorect Pesel"); + } + } + Console.WriteLine("Press Enter to continue"); + Console.ReadLine(); + + } + // exit program + else if (command.Trim() == "2") + { + main_loop = false; + } + // unknown command + else + { + Console.WriteLine("Unknown command"); + + Console.WriteLine("Press Enter to continue"); + Console.ReadLine(); + } + + Console.Clear(); + + } + + } + + } +} diff --git a/Application/Application/Properties/AssemblyInfo.cs b/Application/Application/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8cd6a7a --- /dev/null +++ b/Application/Application/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Application")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Application")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d284eec7-6387-4e75-8ab4-9578c750af74")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Application/Application/User.cs b/Application/Application/User.cs new file mode 100644 index 0000000..162af59 --- /dev/null +++ b/Application/Application/User.cs @@ -0,0 +1,198 @@ +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; + +namespace Application +{ + public class User + { + public String FirstName { get; set; } + public String LastName { get; set; } + public String City { get; set; } + public String Pesel { get; set; } + + + //checking pesel without gender (sex) + public int CheckingPesel() + { + /* + Returns: + 0 - valid pesel + 1 - invalid control digit + 2 - invalid date of birth + 3 - invalid characters of pesel + 4 - invalid length of pesel + */ + int flag = 4; + + Regex regex = new Regex("^[0-9]*$"); + + /// 1. Checking length of pesel + if (Pesel.Length == 11) + { + flag--; + /// 2. Checking characters + if (regex.IsMatch(Pesel)) + { + flag--; + /// 3. Checking date of birth + if (CheckingDateOfBirth(Pesel)) + { + flag--; + /// 4. Checking control digit + if (CheckingControlDigit(Pesel)) + { + flag--; + } + } + + } + } + + + return flag; + } + + private static bool CheckingDateOfBirth(String Pesel) + { + bool flag = true; + String year = Pesel.Substring(0, 2); + String month = Pesel.Substring(2, 2); + String day = Pesel.Substring(4, 2); + + //checking month + int m1 = Convert.ToInt32(month.Substring(0, 1)); + int m2 = Convert.ToInt32(month.Substring(1, 1)); + + if (m1 % 2 != 0) + { + if (m2 > 2) + { + flag = false; + } + } + + int m = (m1 % 2) * 10 + m2; + + int d1 = Convert.ToInt32(day.Substring(0, 1)); + int d2 = Convert.ToInt32(day.Substring(1, 1)); + int d = d1 * 10 + d2; + + int y1 = Convert.ToInt32(year.Substring(0, 1)); + int y2 = Convert.ToInt32(year.Substring(1, 1)); + int y = y1 * 10 + y2; + + if (m1 <= 1) + y = 1900 + y; + else if (m1 <= 3) + y = 2000 + y; + else if (m1 <= 5) + y = 2100 + y; + else if (m1 <= 7) + y = 2200 + y; + else + y = 1800 + y; + //Console.WriteLine("Date:" +d+" "+m +" "+y); + + int[] daysMonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + + //checking month + if (m > 12 || m < 1) + { + flag = false; + } + /// checking days in month + /// + //for Februrary + else if (m == 2) + { + if (!(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)) + flag = false; + } + //for others months + else if (d > daysMonth[m - 1]) + { + flag = false; + } + + return flag; + } + + private static bool CheckingControlDigit(String Pesel) + { + bool flag = false; + int result = 0; + int[] coff = { 9, 7, 3, 1, 9, 7, 3, 1, 9, 7 };//coefficient + int[] digit_of_pesel = new int[11]; + int index = 0; + + foreach (var s in Pesel) + { + digit_of_pesel[index++] = Convert.ToInt32(s) - Convert.ToInt32('0'); + } + for (int i = 0; i < coff.Length; i++) + { + result += (coff[i] * digit_of_pesel[i]); + //Console.WriteLine(s); + } + + result %= 10; + + if (result == digit_of_pesel[10]) + flag = true; + + return flag; + + } + + public static bool UserExists(ref List list_of_users, User user) + { + bool flag = false; + + int index = 0; + foreach (var u in list_of_users) + { + if (u.Pesel == user.Pesel + && (u.FirstName != user.FirstName + || u.LastName != user.LastName)) + { + + flag = true; + list_of_users[index].FirstName = user.FirstName; + list_of_users[index].LastName = user.LastName; + list_of_users[index].City = user.City; + break; + } + else if (u.Pesel == user.Pesel + && u.FirstName == user.FirstName + && u.LastName == user.LastName) + { + flag = true; + break; + } + index++; + } + + return flag; + + } + + public override bool Equals(Object obj) + { + + if (!(obj is User)) throw new Exception("Incorrect parameter! It should be object of User class!"); + + User user = obj as User; + + bool condition = this.FirstName==user.FirstName && + this.LastName== user.LastName && this.Pesel==user.Pesel; + + if (condition) + return true; + else + return false; + } + } + + +} diff --git a/Application/Application/bin/Debug/Application.exe b/Application/Application/bin/Debug/Application.exe new file mode 100644 index 0000000000000000000000000000000000000000..b99c1312ae7f52d80778e82119f000a4fcff96c7 GIT binary patch literal 9728 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 + + + + + \ No newline at end of file diff --git a/Application/Application/bin/Debug/Application.pdb b/Application/Application/bin/Debug/Application.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b02f332de9fde4499661ca155c696e0cce385610 GIT binary patch literal 32256 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 NCo(wC!d!K2{9n&t(B}XE literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/FileSystemTest.cs b/Application/UnitTestProject/FileSystemTest.cs new file mode 100644 index 0000000..5c626ed --- /dev/null +++ b/Application/UnitTestProject/FileSystemTest.cs @@ -0,0 +1,24 @@ +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Application; + +namespace UnitTestProject +{ + [TestClass] + public class FileSystemTest + { + [TestMethod] + public void CheckCreateFile() + { + //Arrange + bool correctCreatedFile = FileSystem.CreateFile("file.txt"); + bool incorrectCreatedFile = FileSystem.CreateFile("\"\""); + + //Asssert + Assert.IsTrue(correctCreatedFile); + + //test of incorect name of file + Assert.IsFalse(incorrectCreatedFile); + } + } +} diff --git a/Application/UnitTestProject/Properties/AssemblyInfo.cs b/Application/UnitTestProject/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..1219277 --- /dev/null +++ b/Application/UnitTestProject/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("UnitTestProject")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("UnitTestProject")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] + +[assembly: Guid("55561b18-4bc5-4308-b08d-4b8b7032c48f")] + +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Application/UnitTestProject/UnitTestProject.csproj b/Application/UnitTestProject/UnitTestProject.csproj new file mode 100644 index 0000000..c212657 --- /dev/null +++ b/Application/UnitTestProject/UnitTestProject.csproj @@ -0,0 +1,75 @@ + + + + + + Debug + AnyCPU + {55561B18-4BC5-4308-B08D-4B8B7032C48F} + Library + Properties + UnitTestProject + UnitTestProject + v4.7.2 + 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.2.1.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.1.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + + {D284EEC7-6387-4E75-8AB4-9578C750AF74} + Application + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/Application/UnitTestProject/UserTest.cs b/Application/UnitTestProject/UserTest.cs new file mode 100644 index 0000000..53646f1 --- /dev/null +++ b/Application/UnitTestProject/UserTest.cs @@ -0,0 +1,187 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Application; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace UnitTestProject +{ + [TestClass] + public class UserTest + { + public int setArrangePesel(string pesel) + { + User user = new User(); + user.Pesel = pesel; + + return user.CheckingPesel(); + } + + public void setArrangeListOfUsers(ref List list_of_users) + { + list_of_users.Add(new User() { FirstName = "Adam", LastName = "Kowalski", City = "Poznań", Pesel = "98042155976" }); + list_of_users.Add(new User() { FirstName = "Jan", LastName = "Nowak", City = "Bydgoszcz", Pesel = "85070789433" }); + list_of_users.Add(new User() { FirstName = "Adam", LastName = "Kowalski", City = "Warszawa", Pesel = "55122952416" }); + } + + public bool CheckConditionOfUserExist(ref List list_of_users,User u1) + { + bool condition = false; + foreach (var user in list_of_users) + { + if (u1.Equals(user)) + { + condition = true; + break; + } + } + return condition; + } + //////////////////////////////////////////////////////////////////////////// + /// check Pesel + + [TestMethod] + public void CheckingValidPesel() + { + //arrange + int actualResult = setArrangePesel("47042886355"); + int expectedResult = 0; + + //Assert + Assert.AreEqual(expectedResult, actualResult); + } + + ///checking invalid pesel + [TestMethod] + public void InvalidDigitControl() + { + //arrange + int actualResult = setArrangePesel("47042886356"); + int expectedResult = 1; + + //Assert + Assert.AreEqual(expectedResult, actualResult); + } + + [TestMethod] + public void InvalidDateOfPesel() + { + //arrange + int actualResult = setArrangePesel("47007286356"); + int expectedResult = 2; + + //Assert + Assert.AreEqual(expectedResult, actualResult); + } + + [TestMethod] + public void InvalidCharactersOfPesel() + { + //arrange + int actualResult = setArrangePesel("47042886a56"); + int expectedResult = 3; + + //Assert + Assert.AreEqual(expectedResult, actualResult); + } + + [TestMethod] + public void InvalidLengthOfPesel() + { + //arrange + int actualResult = setArrangePesel("474"); + int expectedResult = 4; + + //Assert + Assert.AreEqual(expectedResult, actualResult); + } + + + //////////////////////////////////////////////////////////////////////////// + //user exists + [TestMethod] + public void CheckNotExistingUser() + { + //arrange + var list_of_users = new List(); + setArrangeListOfUsers(ref list_of_users); + User u1 =new User(){ FirstName = "Andrzej", LastName = "Frankowski", City = "Lublin", Pesel = "71052429624" }; + + bool conditionBeforeAddUser = CheckConditionOfUserExist(ref list_of_users, u1); + bool condition = User.UserExists(ref list_of_users, u1); + bool conditionAfterAddUser = CheckConditionOfUserExist(ref list_of_users, u1); + + + //Assert + Assert.IsFalse(condition); + Assert.IsFalse(conditionBeforeAddUser); + Assert.IsFalse(conditionAfterAddUser); + } + + //user with this same pesel but diffrent name and surname + [TestMethod] + public void CheckExistingUser1() + { + //arrange + var list_of_users = new List(); + setArrangeListOfUsers(ref list_of_users); + User u1 = new User() { FirstName = "Andrzej", LastName = "Frankowski", City = "Lublin", Pesel = "55122952416" }; + + bool conditionBeforeAddUser = CheckConditionOfUserExist(ref list_of_users, u1); + bool condition = User.UserExists(ref list_of_users, u1); + bool conditionAfterAddUser = CheckConditionOfUserExist(ref list_of_users, u1); + + //Assert + Assert.IsTrue(condition); + Assert.IsFalse(conditionBeforeAddUser); + Assert.IsTrue(conditionAfterAddUser); + } + + //user with this same pesel and other data + [TestMethod] + public void CheckExistingUser2() + { + //arrange + var list_of_users = new List(); + setArrangeListOfUsers(ref list_of_users); + User u1 = new User() { FirstName = "Adam", LastName = "Kowalski", City = "Warszawa", Pesel = "55122952416" }; + + bool conditionBeforeAddUser = CheckConditionOfUserExist(ref list_of_users, u1); + bool condition = User.UserExists(ref list_of_users, u1); + bool conditionAfterAddUser = CheckConditionOfUserExist(ref list_of_users, u1); + + + //Assert + Assert.IsTrue(condition); + Assert.IsTrue(conditionBeforeAddUser); + Assert.IsTrue(conditionAfterAddUser); + } + //////////////////////////////////////////////////////////////////////////// + /// check method equals + [TestMethod] + public void CheckMethodEquals() + { + //arrange + User user =new User() { FirstName = "Adam", LastName = "Kowalski", City = "Warszawa", Pesel = "55122952416" }; + User user1= new User() { FirstName = "Adam", LastName = "Kowalski", City = "Warszawa", Pesel = "55122952416" }; + User user2= new User() { FirstName = "Jan", LastName = "Nowak", City = "Warszawa", Pesel = "71052429624" }; + Object obj = new Object(); + + /// equals + bool conditionEquals = user.Equals(user1); + + /// not equals + bool conditionNotEquals = user.Equals(user2); + + + //Assert + Assert.IsTrue(conditionEquals); + Assert.IsFalse(conditionNotEquals); + + /// throw exception - incorrect comparing object + Assert.ThrowsException(() => user.Equals(obj)); + + } + + } +} diff --git a/Application/UnitTestProject/bin/Debug/Application.exe b/Application/UnitTestProject/bin/Debug/Application.exe new file mode 100644 index 0000000000000000000000000000000000000000..b99c1312ae7f52d80778e82119f000a4fcff96c7 GIT binary patch literal 9728 zcmeHMeQX@pai87W+xz5+%cDq2vcwf7*=LbFkvvK~(v-~Ok(8N87A;b;Y)hez$0fDa z-R*hzPA2Wtkn4Oji5uI95;$$**maE5DN?w|mzz3m+!lu2B!v;6P16ScKn)}giaJRR zqzw?Vzj=FKG?mnU1Skr0$(^0AH*em&dGp@x9l!ly@(_`NdwregSv>g~6Yw{K%MeF8 zzY(FY1iribS?Sn!ch6lg9ldB<%XTKOXETL@Rniv>-7Xh&v!G9$nAP*vq7iRu3hu3# zo|z;%CV6P&0r{8J-d>|F3Q2uL*MQ@9xdS)gspB5Q%|ORPcKrrMDg(YQ;|8BE51s!Y zQM353KP#lGLa&YxonU;7=s9nN+4wk56b3yCy<{W*f5P>e>q65H`lg09@shDp0{!p~ z0La8xD}I9#mris(Zaa1sl<;i~2oH1@?uKg&-p6etXF-vDrSrJiRyD{#`5Ge{7f1t$ za$Iq-Z!&r5{V}3%X&gJ5bD|bjq4X}mjy{=k(36NXY7LScgR!910?@Xmw5>@YUr)$} zwCF^^y9Wxbcm|1H(Zb}nwt|SY0f0fTw2<1m=4lG__*AQ1Fn`F5sG=!7-u9@s+uH^} zns>j%xdN|y`$$7)k_>z-O+bm*r%&UFkieN(2Mo!vZGg^p0QBUsFbly@_mLJU20Otp zseTKIr&>EfF#)AIff(0`NR1%0#>@nJ|NNCLEz(*Wy4zuOvVkAcDI_G-#bR}$5tkUUzG1a*J4eP{UhvBso*Y*2~CIUG%z+8OTiX=?kL(k-<|TeVis zwIFpL)zl6+w^iHPa~(R_ey-Q2g*z9|^)_i?{b59&!`3aeMccHt9+_Kg)dCvqwcmCH zF>Ke`-59FT4$N2w(m~AG=Xnx&&f0=)q0V5%A#hxW!kr<(YHEurBu7z-)$VT1tEtuj zcGpJ%P1)Ce2D##kVKWbQ_KC-Bk0B|*RyAIQoO%O)*B146w~`NQ^GX2s?Po%y`Jn@b z|KsMG!i%u?RZQEtkT1{~yn?~aKntqy8Euy8lzL-D|7pzuDeV4k=tRrW6QKR)}Oafwd~xDX$@G#KxTC;Afo!_4uD zbA+N2?YR$I0iMq>K3lTQ!ZMdL>OnlYbniJeOLHjw7$)sGdTM$C&qdH@SvH=t7FZb< zNa@y3{?YXTAoNQqK`8Rvdki=7M%>uH2xbYhOW3WsjW~j`9s(tB=JCzEDvnl)I}(-N z@5y;pdQ-qp$|K$_^dL%~O8+E(AH$jVFdP%`WdT1U;8z8FOX&Qqd>j@&EZ`o&4|;Z@ zRkQjHz&}vlhP5{p#&?lVQpx9i8>iSV(MwL|-cO)km7WF+((UROfcMF)KO@=>iMB6E zZ0GMK=07I*A5@vs3TrA|5&VA9JbS4^ zJ*qZ?`d)=vQARQPf38r!t2Bdp!=>m!<;xVH#l7s=BXnLFl>*d(mB&=OIw}R}ML~Uv zyy{6QL~mcmvKQ!a@4VE6(+N}V*iruw=`a%4g)*%pZzTFd0ezTHi8jM4g73m#KvO1J z=$DiL^?D@~5{~OOz#v@@*i8Kb4hxtPa9Y4y1iVea4B%GGIqTmg;HrRs28fseZl@p6 z%Q)h{jtbC+v9jiybd!7t`0pXkKcijp82uNG$SO(Fz3LqFWAYh#LTHAm(`!&G9ahT} zkao$C{{5ntuz=g79`zHjwghWGqpk8BdVC)9@j5-BK8otpB|QfIFOVNE z3Cpk3Da^=Abd&OR=p0dgK)a=V^eXjB=hZjBdBM9bIEwT-eMwmOlCn*T<1l{#FiLj; z?x2SO_t2*SyXlL72?1{qFfI7+rDwpO6`VT+%+ibCT%?}^Ic0wKPhmMxRoy8n1JU6ye#130)9)t*94SAl|+mQTRC!8r%Aex{+OPl ze@A3Hv4$k@WqA>gA4v>9qcXgrEMo2X@m?Y!fBCI4h?OEC4qo74Sdvh0eZV7-OW2?S z^gb$367Qudod@)ha+!0o@%lEh5&yL-Canp4BhRf(Dthwa#x*}bTgsHoY|6GXtJ4Lu zG`CtbX3cwy!-IWv%ydfU`)SUaE|d}jl$=NmrIY>R!>PfcbpLpAD4FO_OeIqXr&7bI z#MGhT$%)~~@xh6y^msBcIXpPrml&E%Or;Kv4^Bal_)VQ9=};muJTRUdNDmDq(|rdM z!^ys>#ANEw;BaDaqJL<7c)0K2#6)^%Dm?+!L^3^aa4LN;In_5fH90&yHB6(&t;KTA zI6|W{ws|R2GN$vzoRK#QJV2{3VU#jv&N)J}t4_(t$EQzF-pN{a&RnRn(pD~KWLepX zA2kYwZDuL8xJaYNGEV8{Ox`$haejV0lf8)TcFHtzkW88OuM^D}j*;8kB5jsdH*uGZ z()@A5aWcyWO;4Ck(Q+~iIfG7?3nepeh|X@x6c)is+XluqWdfbeTry5MhV9H*f=*-S>(*B3*C5#7AK8dW<_95U0$_4V~sAo>oc~i#anZ+=v@1NH2GxRGP*sgGcU@d*Y|xH8?X1V9 z8kxEV9hebgbkKswQunlk(dZ(k%rhY=!zOv~?$>z=)J5DD;!&t*)kjXzYJ?n$qwNZA z(%wgR;B?eW!*mXxWcQL})%~i^SrH?*ar1n+G20FM)4+9jh>8I(a)_=@3((L(FVLO9 z+!?nJU!6{g(Q~x3(B()vJomWv{`gO(q7RK6`(p8PKmXn#yrwI6o$NnRkD#$<$n zEa-DVpV~4hw@k~jjKkAT54e6nl3FGsXcbWi`VpVfa?4ijl+@CUziAJC_QB~b5{al= zTaJV2*NLT3Qe7oQ#|am$LGqet0NH zuJLW-PW;ttr=R7O%d5+fz&(E?K(f?w`Lo*PCz^d>*}oHi{)peh+OXphN}eq~pX{%W z0TOf_CBNV2b=~rR{hqU@w++7b5m}9RRILN|H83tm@DqjLkIgZOGAVBl7b%k z@gW6&M8_q%CVuneTy3lGscdYA@v&tnJ^)uEtu-MZaB`VduB5HpO0P+Dp{=ls7(v7J zKX# z6$iYt6IR|Vm>19DByq8170==qMXuCm8{)MA$0iG1oW>ft@#5kF`6@qeare6!*BRS< zReuI^CG%+uTaF=iT5)VPjQC${R z<$v*##Wysa=rVpJqZvFmI>Wgweh1yeXT5hY!EyC3Y!bOC^c;fs@EE@1aS$t4j|VAC zr}4%+4>(CDflcGv*3F=&0jJzwYw4THTX^MTJFczj^TvuDeiN)pDlD21ywjroPNClO z&dC*e2{o3ly~M5NM0GBpqH<;BeZhi`dp)B(h(wp*QwdtUV=Tj?cUrn2bo#ItxPODF z;8=^a9W5p7xb7ZmpmhnoxK~$$jCY6vtzxw9E>TgTF}yEJwf-jHy@UGCeiS$OnF3ve z_a>x`Bj`hks<%Il_PkHm$JdX&tgm(x`fG+hN66i$csI{Acy;xD;;_4dn}1VoLHlFC zmqkk+c@g7ckC(C2Vb2uN*vQlAY0~jG0AKhf?4=yHx*d0h7Gal9A~xzyHHzFP`+TC( z2hR}uT%Dupd4#_@UM)s--;*NNd~&d`7njBE+c+OrZ%;HRV!W~4J0tzhI44D$6h^^k znmn>4hbZaD|BW;B&UW8P6aAzi$=~{mzZ$)9C7;uAIOVhQ;V$e0UAj@oT8lVoAMQFe zH`SZ$(w!1st}{8SU>xpRHJq*+k2D3Ff}@$rYorbn1?O;A*)EJY*$a4ebb9k<*0vmL zsnnab@*^21AHUS!rROsRbIEW@)jdV@2V=TkGd8`512ayr8+_uusY~bA@55ckR~xE& zJX0)o9dIp_?6QON{gU-A{Tb*I?a;SlWXpJ&U#-yK*f>bTPh*ikmf&4s*>K*a)kM{* zj;n45yF<3jZ@9;dOGZx5F+ALraqvE3T{P@2y= + + + + + \ No newline at end of file diff --git a/Application/UnitTestProject/bin/Debug/Application.pdb b/Application/UnitTestProject/bin/Debug/Application.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b02f332de9fde4499661ca155c696e0cce385610 GIT binary patch literal 32256 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 vwt&MIG*KHVazPT%XwIDoT7lD#f@$ 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 eU*y}*=@fdW!OH$UDi3M1$f4}Q9u1QetwA~qCk zt0-W>hP|vEK>-U0DvDVDb8iyJuDY+^_ka7p@Bck}-JE-7&YU@I&dj-UhV`D63*jLM zB7onwZxD0@ywS%IOaD5_0LAjUN9Cad(wFp(z+RX10^=B5aw3Nv%b_vJQ8X5d%_B$B z$($q>nZY8v`Ua4h>}WbgPEN*9$lA{hg1lfnguJwyBWmq2q)(QG5eU)%7%2g^*$%wP z;O7W_5TuCZae{uM2(!^db*+9V3?l@D#C%6dpa52jCWUkbp95tf1fG4;i#h;cz)o z0EzX@5oCzqrwM*yk0aNpf70VRO+h$I9VEP^0I zu(qx;ARoZvFj%o%lp>BKSWAPT04M?E(WNu+2=a6V?*#zv1LHDqPGCo(#NYuS?4e!; zWBvUITS0070q~>2Pagaz;0Klt!zqBb68Pc44|D zIuYeyhePv^rO~`0v0j1%U6Ifys6pF_`z45wHN*xj!XVXz4nQ*rI*=0%kEB^@%0k=(0=Ke1WiaDHxsn34QNI~0g}_em_?$1 zu2ngJ^rX*%R0MsK5@ZOP5iv*w7C=%M>5EnYSnXDU|qK-vmMl^yytOXL&A!=f$TEDuX zHA@6RQ(^6)vNnkzSbqr0BFusfM37vER5)xXf+R|zSTX31BpXKe3;HxmY?NF8j}ZU> z@+K^R#|}Xp;sV%I1j((IUILqoAc;ZzaxutWCKt9CD#PP8!qg$?ymSz3IRv>9gTS^G zJk1g=QYEnU5Tq+LMhudaLidG;(o=G~SlLvZc-dxXw^-RI!fqI-FYIZSn2OsCqZ$Ey zn&qP5F|bet0%*@4p!I)%&i?^g0o7vlU?>Y{WE|uMl!z!l5hx|R5c3@1aS)1uAybSp z3t;fjDPU^^7#P|I@Gyh`A%>wSjOIAT%^&DT98`(X19JvS8$q81-0)B$D1|Z3I4BLv z-vcx_=nYmEZ5M`8v04JoB#d(dz~CV!i~|<4kcevhsB$Np>aH%8=baN@tY9m1^1C0f#B1FZ~ zaaihvrJh(i9ZN&7l!m1YES-m?X;`WRqueN9kGH@SNEx~X(os-9NDZJbAT@=waTLf3 zOD8}EAn$_Vr$G)NAAsR!LmZHgg3>`6kEL8_6^c>z>fl%!Urh4d61tUX&KjO}V`TjG`@&~v@Kz{yAM+K`i+$x$^g(@-j zBCRRFA=s%2wY8#0725Fwegdn5(RjMCl9+T3Ei!=~L4`bB*a->rC?12&LLn~(mj~X{ z=xH-(2}yK68iNyI33<9QFbWzc4L}pU+0jV}bO$IPjmx7mDW1NN2c73bOJ>BF1}#DX z42xj^8J9a$CYmb@A!-2wz;{3*ox@AR0O2C|C$V@8(5nDC&o_w|#Rl0R7K4XQk_cuC z@h%)XjYs!nad|Yb0`6>1U|J#_;-Lvj?n2|zA;FB$As>1Yk3&oFrwgWv>qTS5CedQ) zPCRh3j7;JIN_u2cY%Dr=!#Gjb0~x#@qB*o^I+MnUAFdHdRRSII$u>8W1Tb4u_WZBXVXUjU`qfTvxOopzTOT0)r=3 z>Xu56LKh*BljcF^flgp@fo*R{BqajKpUz|_1Mv`S>%cf51JOVvMF?Rt6yfBdC0^{< zU>b*oX8&SC2C~@+T#884P-4&#RIJej^P}Yj{Ih=J#pwn1Mi4c>)@?x;)K1nDM1V-x*qz~j!Ap|c^&?XOv4i^Y;G6Tg7 zbxWvrC?W;qO=AJ=1F8gafO1DI8ftKcutIwvC}hWePYD5SHe65C4(JhR0qsjLhXD)+ zDzm~|An+y#v%ey^V$wnpb_SgzHx7r*fhbWtkP64<%Am!v*jyeXiYr2iHlaZ2&^aP& zhIR+l%mS-5OfFK&kU$568AQdJ3!&4_8RqW|WCTna7iIHftWa?<1Tuq;Aj7Z}o(#bf zAfu#&g7Q-PCWkLpx+OC{qYN?xXWR@3$^*5*rw?#IL6Cod6BRu)qn;1RYafG8@4ef% zm9liF!rm`(&!2sn+r4(#Cwy|k60f55I<*tJHr>7Tpy}bJ>$b{zxLjGz#KDaG#i!d+ z6xTLOrudG1W+}h^g+%w$XL^m5z0Y1phkA|J(6p<_I4sg^C*4f@qT>F z6i#oPG+Ju~$%U>#W;SlH_MUZpgCrTJtwnOfNt5yDo8*a;!Z6+>Pbo4UN186B6oih9 zG#yJrq{*-<%`zEkutL6 zN1)9E7)t;nSYBI8f((%|Rs#ShuLuBulP98Uk+Dt+t(}n%%VQ)(*a#5N6`Z88fUSfv zS`}{$$%7wG3KqI*bkLOv#Hj^yXo)^-mRo8R9XtGhO~g*&!hjB4NeI$~Ax)8C7HK50 z^ED)aeI9ATkm`_vB)hOViEP0pgdi&zqMWQI|FD!oc1lPfV+SNInM3D-^E*8nxE8@j zD-KvdNC}2UP*G2(wGCoLL4d0x42H}oK5l`2Kzz|trOGb4LKkwl1t|iu)%DLK4D8W8<_X$WJ76K1zpb9_)Vb4 z&9AA0#eRm-`FdAnAs2B&JL9DK5MqGnzFvni%$ z(;i-m7%aZ%J@)8nc(H8nSt(<;=^iTrBf1u^?Zo{%{g$fq-s^Leg8MjO@} zK-bnj+TphnopzDm9$f@2(5soiwK5a9vit*F1NzIae9U|^f9lG;@9N4e59gqrb{ik+ z6dI0xxP)4bv$qN5h64X~sL%$5{(J#L*^zTY!P%A$w0!8$8vPG^c~KIhBhi8UKYWTs z4kys&Av90^apNN2yr483NULi?f;Wx9f|%SWHiu59pocT``DO%oh@6rF^8Z!}V@$yE zW&E)^x(C5p{{WBDO##1|ju7+;=uy%0ihz3RW&l4*I7r<>7ZU^ECAx8R>O6p79O@W`X{;R5(E z!9O~v%>%6n9xve25tSuk?Wcj!(l9!d!W*;}1=?hT8f?&G9#}Y(69-DfQt_V70sbm@ zs9&z2B`#K%0cgd?<0l*;I(`mlDF9G%pk%BivICR%*x1qWQNE-8m2p!5j|A`!eKG(K81e#b$6|d#*C7!~ z1H2gk69@VOLDgV=z8}la){FwEoiP4nF)mzyV9@k8ZkxP5`dMgvMF z=nn^Y97R$EK^L(3_7!qPB^I4;k@TYwDv3Xmum8MxpMlA>9~cW8%tR89N1mAEK>w|E z1w)4%FnRtX-#<(BU&-`%;CqF^`fo602bqb!$An&Nr@Yv2T-Mw*c8M2{_r=WPe5!n>rdX6p(5M#?gRdgd7+UKz0l88SjF)Tbo-U_O|A( zZtnI}Bg8;3SgjupR`~sd@L_%N$%iE%JRep7vI5KC_%I9=kN354j_;fO-oJKD=}vpM zEe~he9KN-3{XufUgFd~(Qy7i@8Mh@Xf)mo%Cpr_yho!-c zNFdr^O10$)Y6O*09z6xAuAz&z$`{{%-P1`r#V?Y^#7oAq7obqYuzT3?sojZ8y4%RI{5vR&eMyu|Sq7Ezo83UlbP30#_3B*rsPtVN>0 zpU<@zT1Hf4F^L5NO93RvOrjLnuo4oIFih}5rXo{BFoMgTC~P1lCFMsA0J-`(XC9)A z_Sc9o0+A81#7l{b3)rhbTwuu9CMm;I(e~uf3st$-;AQ998AOci_e-Y&~S_X z7CmB&j23Kq-63fK9*}4{Ie-z1-k+d4jtn#!RjBA}5KBv{m7TRMrs$Ai5aInT{S#_v z{7*FWztl$itCrt*U-hcLhnG{lr77!dUh77Z&KKJirted|oo0)yeMyhG*ExNj{-}Y_#+-7q3Op`CCe_==m$>UzZLY|`E zO8M29yS)dkqoYRkc9j(FG%45X3|hTm;rZYz=dQic^4oclL?`b3g3F-v-96Wtpy5O= zJz#2GQ#S|`b?a!YWTBR(+-8fMWLbDn&- z^w7?B@x1$1k1|?C+K3NkYLP(Q7@_KB$Ub{X!9zP0FQ%>@euGZUR_mn~kBNEqg-|%k zCf;qCKpQEc+Gv|6;z2b>Oi|&HRW=+J9#0T+2yUOrV#dge!2~xG(Nr}=1tphImb0`% zfRQw{wy~yK+5SNZPGLoN_(|O0?^L(5(?7`EaUltp|8phyLmkCV8P=Y~705V+!110G8S4t3TK%@u%q6r={0@a4fF#L^x1Kt9$ zBMaEjcs>q>^7>pmmz~H_=bOz~Yus!8VI9B1*0F|I#yp%}Mz*#26#TAadc^EH_Z-bdWVbSEW=`Z z`>(d^7Z(yq(C2_%MQ&TNk_Y>AHrhCLzp|^d@9sXp>z{T&3jt94VT|M+H23t(+Mqdfs zE!(3{GP}RmzC&Zc?`z)UIQcaM<1K-XA0s+ybv`!+W+xDG>T61Kp9E%q_$=A%VY^6K zb@0LA&I2)Bg>7Fqxqgm+eR#E}b5)N-gQ|4Z6Xs^++R`nRRh*_z$LnaL9v;aTJ2R5HN592K-y(4zu z2x~>Pw6Q|Qq3WHAfgny7fd9S&_P;uBmX;^%Z@oWdy~%=j%E-3k?N81WO*in{bNQi$ zkD__F@Az;A;Rr%sY(MH+q=(C}4=!jQ(1K=45Eh-vg6o-bul zdIbUjd}w7OibQGQcbqDWVjv{55G^+#Wac87t20#Ock?40XN)Q6FjD?((k2s-AM$it zdDJ%A-!7hf#k4(YL=!hTMGhG6(Lx@|MOPN#li5SeaV!?`2p?Fu@htCh} zNx6SHZMrwSpTe6rn>j*x*X0xQ*B+tVBvq_pMji>qUGyO<`xQM*cWe(nRx@*xR+~1Q zz57_|o0V6)C%~`TPpp-ZIJbIAdtZR+L*HHNpLVUDdn==lo}_c<{-#9Xy*OK4<0`kVYrVPV`?jZ$=eUm{Xu3gmOIW2OKvZVJ#3fy|u0<)m$iAYexUU&q+t!`#p9#qc))6_^csOT-2^ zK~SS%i-A<&5dlWy-~G+P$9?asz@feh9Pm|uJ-4gxBS%q-vgZzKCtuOq`skZOGxbWH zN14PwpXImn2+>}X;CXcMsS!F4?c$qBcVzqQPZkmPof~%xR-roIST2_qy=+llgkeI> z7SH16adWP>ZVsrGF*{Xrx7u`Xx^&I&8$&KcXi7YfNq%POKbmCGwM)wHN}cQBusf$I z_@rHNZ!a?6jt?zY>vuo;*gkqUE7~S?ds&o%`3=VnAD%ptl)Dw0R_QsmOYTIOa>|Lk zNxh$*n9fqv^`2o|kpR~WWX1)EQ>m?ax?|f#g)3Y%;HI5a%IN)fp!k&=^OE2~x#b>V` z2=BY<->@ogS$(4(&nR5O_)yCjV|$~*aZ_!tEZDz(ua-eobxb!+cW#@pXGwTYyHVH; zy=e~qrw;~CHpKT`OP_6V%iu|3n8I}Tl)4X4Tm5bvKm2~9YTfZsH-n~ijVo7pZs1w3 zam00j+ta2~ob<<>F2mLa_o6esC$)m_FInB~?TJ+FTGQG+yR_!>!+kOBO$C|rdv5nk z>+&31rEI*tYGG_f=ZeVG@LG$dzXunGHl!FEzwTk4GG1%8*3r(lsV&QO`DtmdGdC+; zEO_|?tPiQ=nP$pi5&4@Oe65z=+n1yMXp2w(#(nkfWeJ7XAK%VdHDo(`fbD$#1M@fR zz4_sH$;cslse&Vn(2)VxQc2)~zy)$b{$N+XGs>t}QRMdFn2*O%b6tK@k??7IQFWGj z&0x7TGD~3Gz()z}F5(STBEi&zPaqcE3S12CaRxL4Nb5GpII7)t* z$z+rGnVwO)(hSzD!i`Ut^f#`3>u&n!^MtF%ZF*Todpl~z^jv-TR=%dlxS-Hmev<4P zspYqIPg!cT_nk4nJbTLl&v7!%GAEn&?Cq$%dtWtYy4y^9%Xwoo7w_*M^Wl-%crv4~ zHe`7mi(Pe?cgj(MxE(ezcHmD|_KuNltn+@?wsx@=TXmsZRdR=;34QCSF#pKxQ`%9s z1=+3l-hOzaR=#OW+oj5atFOYMoSw{8!l* zt4DN;?t=H_p&Rc&x69p+hrBJQl%6(4u_#0LDm3=Y{>_z>-BNUHny*(>l%}Waf1Hx9 zyX%vOLB_i+9~$BhPb+ADnUt#8{lcy&O=H@(+jRzUNu4zxKd*c#oAH7%q2@EvL-1PD z+M2|SS~uxh$qXOghKykS@>C^Dz4Trunf;SL?P%E+)>NLeIe6X-pDAvQ&gVBL&z8xU z68|NwwCOmLIrqFjS6MFI?-G@7JR0E}>w~)uBs2ftZMXzi9)ETS4&S(xWmX_S`3P@j zr18`dL;f6a0|PEKhVNr!sq(-LF$}8$FaJvsLE~PQ0%EWOhi+`gs+V5~Bm1 zxQMe@6%fUQSeB_|kiNh4F4xS^_}Ly7-)7*JfWU_#=ZI|)rc+uLPj;DHy~XaKN!<=P z^Baba*;XW?%L3+cWLI=~cx>oDz$m}0q1q( z311gnG0Y=eXu4$`w>@03zF0=Da*S);=`TCnN8%Pd(>TxP&NY8zuG?MEuDI9qNO_jZ zKziHwtX)r)@Hi@O=^RgmV966QAH1^$n>NcYAsmxx$5pI-<#?pA+%xY5`^wJ?bMT9taFL6 zREWhTpMk!jrjYGLwxNf7#bpJ!J5X84OZUzkF>>R*RROH$ss?8l*7%TCzh3mj?&vD* z=SGaksZ&yjJC&@pjlEMZoy=N$;%ohu*=fk&xfP?=+tfEOXS5`{4jkBZ>wU=0gDn?- zyS^qO_pVZXUE;oH$t&>oh(FE4p^&n=*T4R&WpMS=WDAiE^Of}O?2P!Y3tJ5*!UAYVTMm;O*-Zl-}rJmr@ii*mHDaUuU_Xb zEK0w0*5^w_#sh*&em2j(e@!PND#W(!a6gq2Pym+OwamoV4!mdN% zuMgbQ-x_Lu+T`9|?}rQ4MlWOy z<^dEF$PQHjox+IhDKH&Rz=7?Cgbr5*m$E*H*Uv9yseh_VAomZPxn>wM#V(1g=zlS& zs@2CnJJmhJRi&hRP*riNn^hTKF6*Bwj9emdx zuiv%*M#6Osw{-BI`==>Z}rCy)3VGa5S%L`@?DK2 zP{BV!5gAE!+zMIVVbSUk*llX9Qz43*sq+Uas-HUya zorm@qm<_zy-L_-iXhXj5nro};iA$9e4~+CsX1uTPm2cX+@an`Dci-&U6|!7r*R0ll z#BL39>8N({ zr3Wi&R^CPLnBh_4{x|fFdBNW@0m4Xhyt4N274sj%>CtOtL=b99rBbadf#=!EUJ#39 zNu>(G|5fV)Wc&L&YVmmb{3TtB?nrZLe=o5`Xm5GuOSCB(&qgL|znOPCe%6g&Qiy3rZ~qyB{R}mh%ms#NAqq zpUN5?RFMVyOqm*uPOjCxQL@hQ%r_>kS~4_~e2337`J_EwPM_!V(3H-oHvE!&@T=R5Vd^_V4S zXg)kT!SAki`x4UO^jp)t4hLwKh~k?@ftgYl3un^o*l@u)zMlVJjP~sfad#CcO`3y$ z2qnE0H9m9&HTSK{`~~i#&RE6G%3=l~GXxi_z6gk6EdvqtLy?}p7EceP6$H|QfKoJ= z6v2W?so16JEYYPTxKu@bty4uXxKwrc*$s&xWM33J^b_8Hjw1b65%ySUDTuHSwdr3P zTbYYHwR6$B3)J)PifrJ?>V6;eigQNj^(ubY;7y7+_4w|NmgDKuw>q1u?U}FqWOZ<{ z>_FIjN=UO$!nT^HTaR_@T$iJ_tKrHy+LE^mPu({$^N{=9e_mNZJg&c-1x;0(_mJNj zaQarRw2V{2z%{#u#oZ~Y_X+I>8f6)K5mxMjgC0Y2=s6&%18FcsDSAapKEIR?es6=eYKHmOsOPs#%y5vg^ycEce3a zbsC2|A6EbFa30ETblkAGvS_8(*EV;fM%%Sgv0ZC*6h2wRJezOc{TqMZvLoT|M(JF! z7#IQE)4(}S2oc58NM{QE_mH?h>$?A#cp8D?LqGrx&~#R|Ha4i@vk`#SDEMzy%l}GK zRcp)Drzou$PwxJ#T=4GWVn$v(FHrGTr3}Q+`qZ-^Zkk#6nNuCKlgWo2VoYcEsRoQ8 zP<5R~Y36HRmR4S~fQE$ZM_d(NN8~IGbQ$rx_Yr%kI_HNQcHibA!K3+G-Q=#mc;}IM zslhP9a%P14o0%TjmP>VbwAgjwnSuMSZ17s&bb5Q(HJUQZxLI>BJL6a@?X!E+7;VE? z5=T>SMa{J6<$jU-!@i{GPU;Iz+I@V5v$x~)YYN3ghuFpMVjA%qT^IFUo%V&*vFXD8 z9dFW2WT<`je2D7~3<}eWUl=~AW0@NNu**yAPM!SD%NkBryz>N#V^1j znjS*~|9_xg2qW?PLl_DAhv~l*Mk3jnGhME|`ElXo%z5}pC0on&*mW2$s;>CVxr5 z&t86iAsu2*LtG8@Ctm5nS8iMzGPeHE7eZTNspZr$UxI2Zz8>mWV|6SteAE44$LFsv z7sceR`ZhOm@xwDyW!H^vAJ;u{>b$6u`FhM##ak;Teq6k8?P?eFCE zH&@DR%-(iWxq7MUYVX1&eQguwNwMS&WvHGzUg*5hEqeb8ty@7MPeeM|_*Q)vR2ZVKp&AAY=x7Y=WzI3vkqv5i$T_qaY9dA3r#? z*EkShFNx)qz6uDQ9C(Nl*osxhQGw%sCGykt4KT$G2i%fyc+=wC`^ zWCb>?YzSi8rRPwZ}_u1**iY3eK7N z;>P}pmdX54@q=Dr^Iuk9q6Ab#&x8S|JbD1>}dogYYQ2horO;i+`mX@l$q|_ z_nQln`B97k&Vrix0?F(`GM^%u#|h-e>zJ=APS1-8NXV<{zp-G?+^YPsgZQ4+{aUsw z7^e4Az+X`O2W*8OPaJTTEj^&dSTN9Y+IXFeh5z+$K55(-6U91;XYJ|i^w-)SH;D@* z_^?3Za;#742RQg=KogHPk#|T`rw*1P^~7TrUs*d;Tg1ov=7x^H7V|E+d3USRme6zI z%YyTr=dSVh<-fNmk*#>B6vcRY)N*}tNh`@nvgDD6MrT>rZDe6U;T~%@)e{v9W)Sy2 zzZ9QJY42xPwwt~>Y8`j{cuj|)`+!`qSAqUc+lVW#jk+5`AEpeaARINdvB@OzK$mZq=9K6SxyIyOqa$JQK5j R^(ej7J2tE++yeY1{|8g*r!@co literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8f5a3c0ad21c51d5966306bfe3219f850e5da7c GIT binary patch literal 117016 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 Xs<#49JV@hp<%_sqRw=w^0)hA+k@dUK literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..154749d21ab5dfcc3455709e328acf2d42e3aeda GIT binary patch literal 40944 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 RDeio8@Exa4_*Xs<`hT^g{ + + + 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 or sets the cancellation token source. This token source is cancelled when test timesout. Also when explicitly cancelled the test will be aborted + + + + + 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/Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/Application/UnitTestProject/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..2588ed825d1e6e25715bbdac690e9836adac76a7 GIT binary patch literal 75040 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 + + + 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. + + + + + 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} returns empty IEnumerable<object[]>.. + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + 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. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets display Name for the Test Window + + + + + 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. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + 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 in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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/Application/UnitTestProject/bin/Debug/UnitTestProject.dll b/Application/UnitTestProject/bin/Debug/UnitTestProject.dll new file mode 100644 index 0000000000000000000000000000000000000000..06ab6ed37eedd9c305e2fa918dc4d7502fcae302 GIT binary patch literal 7680 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 literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/bin/Debug/UnitTestProject.pdb b/Application/UnitTestProject/bin/Debug/UnitTestProject.pdb new file mode 100644 index 0000000000000000000000000000000000000000..102488edd3b824ebdfe252fb5bf08bdc8e10796f GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/bin/Debug/file.txt b/Application/UnitTestProject/bin/Debug/file.txt new file mode 100644 index 0000000..e69de29 diff --git a/Application/UnitTestProject/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Application/UnitTestProject/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..23e2ddf223b347436f899f4636035afac0bf3df7 GIT binary patch literal 20614 zcmeHP+g}^U6$XRX2FHnU9mlbgRB6*TN$D1h@vU`REP+h|SV02ZSQL+TM`F$1Ji80X zgxs5^O)qJB$wMFd(C7U6C$`_2z35`>#wi+jK>lf1uXgAA=FFKhXU<%DdV6|${(}$w zrO#7`keIWUA-uq=h5DiuM9eOQk!g8)-g6w!oi0oc=N7pLEYH0*dQl&tf5W+aWQUR9 z*IXWjg4x5lVpO#)<4xWudu!aiRvj6ujn^*KMn}!@5jMsS6XfMbAYG3v+a$bcH{`Y@gXi(`^USur4Q@^Z0e7l)V{$X(F0l%Zg0p+J2kzY!l^uiEfsesPiy;trS%Q9?l_?;1#Rx zdV&{tjX@OCZV-ZBlUyLjZ&MtoRIcw)EUVP|&>svV+$%n% z7ccL8yI=*r%^C#Q`C_7I=i(QO!ZUafcwz$Vtq^5`$|bLGb3SrI%i+l@ojJu)3eH3U zpXW6$xQnc&gy$gBd&uc&k=~VJ(GF>Sn%2|PhxAZyZ?A?g(w;;AJX~r7A$Opjs9z%_ zh0||vmkZ0#XCSP*qj&B+<`J}rMP^65$SiU9eD-K56qZ{b&N+eM3EQeR+t`J#-NY_k zV&lg6#nCHc7x>8KE6c-=atz6!_7u_{?KqOc)_meQ zT`j?p-e7`PGH17<&rOyyA98s8f__OqKb*RtiMu(uxvf2ooc#RN%0dADvr_OJ3vN`U zz=O5W^DFSv$Z@Gm_&z*sMxIDz!L`CN9Kgh>sd&|Uc)l9d=`A>)WjILlJn-!G%o}cc zL%P9?RX*?x72*Vv7utEIPJhf-8^RN(=!slbl$tkI{vGULVy*DpeYCR8|Z*#%Wen`v^!%79MuZ6OO(^Rz&zL*nPEM z*rjDGCZtPTtXuGVbvdxAF@sAXp9ANA?R(B7-50=g=83Alvqhw;pc`_8sJ)0B=btFY z*7jDl+@yWA+|{A3+Dpjy^Z#F_S=&nV6hniG%fk!fUrR?xVVgOS0KW}d|JYx&nge&K zj5#o5s1TU2I)>*tIa<%Xx_SBHYn9Aa-r9mR=SBq_4-|aY;^@>iW$so6|=r%xnt+`qOcq*wANuwh`=i#V0V=O)E==1 z*JQ$!h~ERE=qh4TlW5uqCxv`7l(^pq?z<{*TO$l0U_=5@iv#kd_*1p$4;zKf|yKkq`7MB?k$M;;+{H$kkTc2=U4a z3!VpshH46OfF~s|2KbMZs9viG$U{p8htqD&lT0pvNq7B`#5%STfhnf>0ZCvS1eEmB ztprLT2AXB4L);QBg2QLZtD_7@Wl3OqL`WtS=%?ukDV0lLq+CDCo@d9EavAVSdhXUr zky0pmkw|Lg3P?Oq(nbYCIHTU_DPINth7$aS%N)!~B@<&(0e+&Y25#71mE0xispxrT zbMo9{HTWq=L@FfEPJ(*GYk+=VNt0~H?il3$3^bHjr|DbNL;3<{5gw!dw&jzxma6b` zaJZ+U7Qlf-{|n$LsdeB{A(IY*peF#W#O}017X*gKS(kVnB-E&0JBtqYG!Gg|yrgy( zODsfiIqroDprFJ8gTgfYQY=_7OIZJa5U|w5N#MVuNb_g8F7Xjx795(CBWcC~5jLmU~|!P6KgMg}5c+ zSaper$a61~W<{>nz6fDGT8fL0P5kkD^MTr_9}mBgL_cBn$=b3D{Lt4Q`-HdQzZ;NXF7C0!eFvOuqZZ4q~ zfvQB`Bx-vE`Ym89)3fn+`#8mB9}MNvc^)@_b-8~WaQj}JBdjy3H~;~)r56B(WhtR>_^kK-vJdhVZKf(Ggf^y z+~AZ-p;W*`NegTxk}dR>6qfgZLdTHmSD>K8y(B+_;#h$`FYTcezzWdS%zL!L$3$kO ziyx2b?y8qU9Ojf#U_k#=Nnj@pr%_x5VFoOwPZrh0yCw3HP8D>N%)F#*$SxZIRpR%i zpdC>y6ZmTEbG+1Fzlr4l*smca&H=8(BS{ONY);9lpK7265??6Q!cGRgh9+HxqrCiyYdg5i5)ZbhQ=(sv?&V#69_x9Is)TCZ=-_bkr;; zNUNZo&Kp58dR^ONxpZ`{Hs~no-V!Zom&=-eB??VOHr&EEly85=>VjZcqkbsNX0cQpT&(h1iq5-N`@~lc)Z_3>TCoGN>)ZB zj!8UhFGRl0Hzk2}5KyuPppAeG&{C(ru_xt61gC7oMq?8MlsJlQn4UkZzh;noi zYeA-!R1ptALCLfPElAPZOyw4!)l5XSV|R>K-ch9qk_C1IMK%+ivqRe;abLwWNqH4B za9MBlE?||+fi_`pVP&E%CqktidJhbgI8;prWfrW(4%PbrSEPZN*kkmz`MD23L&*rJ zMFx_Otbq@Ku2=_R9!0DOlMFrr1Jyc!EpTzb>SKT_31iC*|7GfdWubqqs?urb5(f%f z0%e~7U5VKz^xFl`z?eJPweTBNwJo6?yAAwPfGcr(67X~snJC+D0k6c&OL#iNLh9P@ z0IS5?Y{ItHdH-P$IN0xfu-|)EPd3@@;}ZIyq}mFWOgq8hl>mEuj;_F0p%s((<=_3; zMx2LFd^tGIg${Rm~KCmCF@6H>|QSP1}>RAz3lmqp$rLd7s?6X}KZwVsu2) zG#ci%_66>r-74>V=u~4{`wM>GopTrdikyyb&9eZciL~77+9~BDI|~oIZVD9oWnNbr{}( Lz03|NTR!$*yI&oF literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CopyComplete b/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CoreCompileInputs.cache b/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..aa8cc10 --- /dev/null +++ b/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +ddfbb83cd4567120ab9f6ec28473dad8c62eff31 diff --git a/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.FileListAbsolute.txt b/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9673f25 --- /dev/null +++ b/Application/UnitTestProject/obj/Debug/UnitTestProject.csproj.FileListAbsolute.txt @@ -0,0 +1,17 @@ +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\UnitTestProject.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\UnitTestProject.pdb +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Application.exe +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Application.pdb +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Application.exe.config +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.xml +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\obj\Debug\UnitTestProject.csprojAssemblyReference.cache +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\obj\Debug\UnitTestProject.csproj.CoreCompileInputs.cache +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\obj\Debug\UnitTestProject.csproj.CopyComplete +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\obj\Debug\UnitTestProject.dll +C:\Users\Dominik\Desktop\project\Application\UnitTestProject\obj\Debug\UnitTestProject.pdb diff --git a/Application/UnitTestProject/obj/Debug/UnitTestProject.csprojAssemblyReference.cache b/Application/UnitTestProject/obj/Debug/UnitTestProject.csprojAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..bf95c6e831ced0f2324f786c277e4b73b26e4ca1 GIT binary patch literal 29789 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 literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/obj/Debug/UnitTestProject.dll b/Application/UnitTestProject/obj/Debug/UnitTestProject.dll new file mode 100644 index 0000000000000000000000000000000000000000..06ab6ed37eedd9c305e2fa918dc4d7502fcae302 GIT binary patch literal 7680 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 literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/obj/Debug/UnitTestProject.pdb b/Application/UnitTestProject/obj/Debug/UnitTestProject.pdb new file mode 100644 index 0000000000000000000000000000000000000000..102488edd3b824ebdfe252fb5bf08bdc8e10796f GIT binary patch literal 22016 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 literal 0 HcmV?d00001 diff --git a/Application/UnitTestProject/packages.config b/Application/UnitTestProject/packages.config new file mode 100644 index 0000000..0d63e3f --- /dev/null +++ b/Application/UnitTestProject/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/.signature.p7s b/Application/packages/MSTest.TestAdapter.2.1.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..412f018073121f586c857bb392ee64f59ae2395d GIT binary patch literal 9355 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 XyGT1LH}1Vuf8qP37}>rhm#%*SMnM-Y literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/LICENSE.txt b/Application/packages/MSTest.TestAdapter.2.1.0/LICENSE.txt new file mode 100644 index 0000000..0a88960 --- /dev/null +++ b/Application/packages/MSTest.TestAdapter.2.1.0/LICENSE.txt @@ -0,0 +1,23 @@ +MSTest Framework + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/MSTest.TestAdapter.2.1.0.nupkg b/Application/packages/MSTest.TestAdapter.2.1.0/MSTest.TestAdapter.2.1.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..0023a9a73993673c188e7c1a9727bd3d8bf37e1a GIT binary patch literal 730818 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�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 z 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

2Gul7ivbQ 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⪚~Gc^L8%vdm5ll`NqLfnjw1p44uIy=Ulo=HuoiLACX!~4JN;Tvi`+S zm6yu!J}sOG(Mx+~=ZXHJJ>b41*zC;ZiDf4#HsHJD_BE0{n`DM87#UH6@`CYZvub!h zR@zP-Um{G3yr@~d?qOLvW2wD#xgM^La(bTrXty8J{R$ge;1|cP<~P7!exDM{DP$Y5 zkPlF6DkfMzQVai=r#iI|x+GV-rI+R8{Dg;#cjPydZK#9K>B&cw;#`{>0}>pE~hD?|GjK_Oyl;&ygZk5;v^ieU>R^8 z_DXQ@(0R|Zo+{~EEdY7|E(VW5rN%?_$^?l^FGr3Xscc>Cf>XeO`(QP625;}C7x=d3 zOQgC6_d(fAYpJN6mPF+`sp$~l`@N;5?Oqk@SGo5dog4ZaU90qNDplucYx$b5KlGoP z9(cdbt@v_23x4{G-)}xomh*IEOeD%`X+Ifkg zB+UnpwZeX#P)v3Dcy%;RC6^7qawR`$BXRoRuhjS>QX7)V3%@WO5m&`m&X->HWRgQf z%Gx03qJ7;oDlUFcYTjgimYq30yW_V}u(MLF@4D^rc0DlJR$q&!&7BvUalU?-@{|49 z=I%ONoTI-pD?_}A-pt*CHkBs*+go~tIa!{y58#%}34NPgY)IsESoPX65*)BT%F zROk+g7dlSnvz%YA>I6J5VuTS6gm=>61=4th*=sw2B3ssz)|!-eMD!BkmJMY(Zy zBtHk4qlSiZ9sx3xPkvJO_Maf?@%0Ha#(2pO1oas91?KrcUC-}pCkyvDr4#W=*DXXM zS^w@ki(dhab3wyL|neSZdx02!%?{4-#|hKR9cK1IOONzGsy-Y1?yg z`l{uW@6VP%E%-{F=Q4+Hn5sADSx9j?8{H1K3vuH5BOvmpj5GrKf1lo3@=4RQO08%k zdk#-eo38gza&DCQx-sR7!>nF9;jAgSto(9w=pRdZQ9msTtqG<6!hQ`8F|tpx9I93A=rFu5Y_3_E(a3KOcPaj^ zu=>*W+#0o}ZB;dsx{p@Hx_D7eJi?yKs<2tI+x_fuEBAyaA~+`{gIE(SiOB}h2d@-# zitFoc48;sBw2@UYY7y@%-_*UF%%*koYs6%K2m8 zecoE;UksqS!Z45^*p7AohQF0-E8dd3`P?h^3?K>6S7OufTbN5FV5%5JFi6k=#gQoP zwv!-ur`lWT>Xrn|P37$exP;h}Tz!|^CjK(NKU88BQS36%9>{L-f7%^}WBAy!6@dGG10 zaB;s6Ds}>^OG3RkZfqT>LRiS$+RL5d<&n z6cIgXk*kW*S(6@%JHDc6%C*=fA#0}a-#SCF4>d(#;d>O?R0j!#l>f>~w>OKsx9*_a&+-;wLM!>Z7Vw|Pr`sbLyD z+}*aC9Jc{ygNlQyg_w%BsmmMAg|Oy~+?BR?yK?Tk_rZJ9g>=l~c9TxIPX*7*+UmLk z7j^0hzbsvCj;?I8kJCx2x`puHeyNd*t{!XdIv2gUXHf^~0(s0t`>cQ`v@*F)j^hiT zsX42N=k=}%{HLuI(vl=&ryc_I|o29p}Jk*o!->$6#gPeKyOvZy}&^Bp) z#}D}botUFsF_?_~fBHE~=l@TB4pK*E>xaYFjyXk&TPnF?mT$`veJ;1@M$#~|ZOI~Y zjK-!Ji^M7wK{ASzd+eD&vVoqETM-2@geR4z$LVHru}On(=jP!vZ|35|FSKog^Q6n} zWRv+#geD9E0R*w{<--kv3kZ@wcD9!PY`2o-vK+}-;JV=&@mJ5;+T#RCOC8o3b1s4) z#f%%(dlXwF5AHQez@UvS(T6AZmKK?aioWd;VSL*n9Ks^!Ptn_uNA2;27CWOFfI>6? zv3~{6Bm?yYfOIS0X`_B>NlCDSxa1W4PK-QJ!MHu*z`uz6y5Vxmy`32YfVd9~wtqn+ z#To{3mJ=fT_z9))^pVIZKFIUk_3a$w%?K;K?e*{v38$wf+~O6GA$4lS!6GSyorM_l zua$lAjoszX2x3}eL99L_(lGXXa=Ml@)AqmR!NVtl{pTU90NYDS{-+jDwe}7UKz1=8)-}Q+Mcz< z4_bRn`0sT6tN{~|tVAJ2xU@bqPK^Y_%RI`lkeS0f&T?SrqX!O^ zQp&MB{3(;!&e=r+SDtal@aBIdS_@S+6h$=E3WK)EzIGr_LaNM z=*R8SyH&=x$nkk@;dl)lti4*SG1nSmtGF%!ySb}3+OM*lr>uEZ>U)aM)&D-==0gl$ zh?wJd9CH82GI%qNRb!7fo}z{htB=iB$mH&+G`L*P-+u+5TV#ETE|0j6T(rh<;{S@s zcx;M>x~<**+OTU6eo3W!++NtcYf|c$fvxeMRA0VuOsUU#z!sBGWal$|RT&^`);r$z znsN%yi=CWKX7Q`7uvc&9U#o;6Zmh*wL+3G+k#Z;-m9A)8`xRPOJMINMMM+oUs>v90 zX?OANT5D(>-3u(QSxKhH&EWED>oXhw032T{_O&fB2gz%+hIBrc$+LVcPz2&;;W;F+ z1b*bdsyMzLO=6y5RhlOh6PDwK4`F#j3dn&9L<9-gO94HXmw^a+^giDNoh|@ZjR3w9r}S|E zoN)Q?$fK2m^m2i(+XgaP=5ImmdPCs&=7QbE0=<&u+pwHA0_ao%=w$4^bNj#G>NEnt`LRL>WfS1N ziicPz;3NYS03g8s>N&haC`JOhWC%t2OV8qeum*YhY3!uZ96_r>unH}4P z)wy@*#mUBDN0 zM)B8y0n7OIR$y=sof{b5nCJt5mKl`8*h=EzL8{scuA3^rBFp_#onVAhhQ%Kt{siC*wB9Q9{};X92i|4C65%5n(q2g2 z&K^0ck_q($!m4n8cFiDtb~O+nSL7C+I6G{ju|sSDAU{E{^^k)j93Q?DzFiIhdJ7V# zjYDwGzfL7TI9J|tBaypzviG+$mj@jV{mc(`66-ef8AvOLY6cGDJ*Y(E9U1l?K$nma z$c@p$Ol1wY72n-9Q1T{`zdE#aN0_)YozQWGW%fCba01LDktU+b?l0+3JoJ3o zhacM@a2#0qC`U*Coe#ixtDS;i;Uo@y0%7(c>Hh$_e5Dz=#$gr$xWF2^+z+2K9RR0!b8s)5LEPs=D;8Kr)DL59v4>e7&9aa ztg)X<2!xMVvo5bQ?U9C9<&Tu~`Z{yp`Ccq^W|_f|;bY?f!XwXk=W&&>aNUf*r8&~e z5&WB^@c)$N^pq3qo9Phv&#yu3p{*pjavw<)F@mTT?_LC-bjOY>q=MzfxFAqDd7yB* zTd>yy9l6CE(_8l*6@g0$TyrZ$TE)}NHNhn#{5PV5 z7Uv0Ok|0ug;T6$&c-_56kprna)3^JC29r#$!qCu%T!EAq`N@j*Gl&m1{~qNaU816U zM7rhchZG114Q_h|6`9vjWfkmNUuyHhT_pv!o0S#ctd0V%FEh?zW)Wqa{tCNZ-hk*p z?_dlfgiw2igc57xA?IRE2y+yoH87SZqf8htAj{{0%NjIllyGK&BrVXP8yA$6^k$2b zHA?b+lObyp*B|qRTwK)v!`7L_EM`d_ARBnJ4Y%)A-H^Zm%ab++h*v=h5;Z4bJoTo+ z7y{;%q)8qtPPCAr0+3`%513>Eph%YizT_j!%z(;O>}?cD7LKZ1m&-I{jDjihLq=m7 z3!5?~slN)bSQO+>Bn(58CY`I`0fTgA3{(x`RKbc79C9x$n)}r7(r`V#FGlR7xyWgrR$fwBbBvG-8H8wN0l9yq=$H*xn?Mf*;c z-Ml9ZK^(|86sX?= z6J&8Eg2EDE0`0W6W3~??<CS!g%Wur2Q$n zRKSfW<6uC6Q2>EJQjTU9MhDE+j6<}^eb$H*I(H5hwT{J_!YU42q=QsqFFhio!$f|)B*iW-meDrN z|F$i$^{I*Q=|2M5fPmZNcmwiaBb&Gc`a<{ zxKxRFAFixX2!=iTI>34wnTtXpF%{u@$s`6XZv{P^EW9OI0;3j`JMw#VNb)Pxfa9Znc zpuyI6-_gp|uu%r|5sNQ%!%xgST?t|PV!seIQXmdYxRKv~Sx=CP#M*s|7#ctp;s6#CQaT?&LA0iPGYjrra!axe*?6xQzb@*aCUZzesd1*8h zMCvYyb1mdkk}mPmGeIOaWuOHxYgljsc%+#(5oJqPAgWl@eaM|Sf`q-8I*YS{Mz{jk zO5t{>=34Xyiv!k>2BSNWUAOt`Rpd#16!M_x3;3f&ywENvR zl>lmalCM*Rgpoa9cqW`ny7ZzMz){b)0c08~s#x|4{Y_v2lr&dp5@4*no;4Go$KlmP*xJV2%{keWF#m->7cJ+FCTLB26|pkvGWtuhyS;w_ zw=}4%q7iYP!xxT(T4>Gm`B|F|Esc`_kJ zWTNgsBZ&n}52^{krP}1rF@{RP7N3IyI^RdKqJqX6AUJ?08WSY`wHo1vVt6UpKWqM` zJky_XRs9Br;fDrNg*IdVif3gltBevuqK+%v|0(OBDYbawZ{=#e0$`|%LaY-G-rd{3 zNr>2JA^`f&ssI^&5J@=&L4IruDkvp*-u~sBEetUfn+1&>3as$~6et26+=%i^93+14 zRG$=-r#?y4YUIe2&vselQ9;H zW^*^xTs#ivPw*R+KS4~LC4d--?L){LTG^)u85`(tgkb?v0v9*`drg3$6fo~q#Qh6ALO82zzc`YY zF0j)#holrTHf!-83P)Hf9B+Y56YIip2u>eH%04#`&oeA*9;Yg_Km1yE=1sv z%Ec}>!XPLI+#Wc{oMr$Px0bR*zyv#ZIxVK2EPcRmd$_Vx;#4{$CsEv>lQ=~?M4WLlR~);yN$j%r~*gKRs#>vheL%coA0>q#oh+2d<{AuCU{WSc8P(bEVk`Z_7I84)VmEjfTm!dVbdr$QU4r{0W*_2^=;)7Q^l4{k5=H zLtTOnl+<5M1O5O?xjC5MOF$0w>;ymAZ(8dE$K7>eyFqr}i97DqO~uCl!&Ob{B?wL! z!MWnKC6)74lvmy3^&ogO@U&vH=u(nOZ9nWSrO$if?9(9ijJamQUvz>dMXfKK?}`D@fO|M+zu^+p+Gv36(hdeq*ZvBD9D(J46zvPwddt82cA z=;)UK3jZOhZ}qpJMS>0|X0V5sfDQ$7g-QkCB5C0K9}V}7Li4DhNt|jD3?!J!Aj0=A zXVKh`X$(?E%0BDBr~=`Lq`;YpZsi0}cl#N(gY4;B7VO#b;*uQ{z}1w=ryM4A_J2ci zJ|Gyi^X$RD8t#Rkp~ibkkN*kLOr|*QWEK45O5s)IHU;8qPvjC@wm<=4RI4B!8wH|< zhme01eJAh`x-H1+Qd!RWi!8VZB-ToG=){4D17j4AKPphiVY1+r5Bcuc-1lRMeQszf%w?jBrn$49Nj! z%P({<$gb^R*K1-801cia1-jc@v{h0k5z8;$#xR0*lcF0rJIF3Gv3L!9mTH?r7)@}X z`DGTcNo0->`;r+!={55^U*-4Um^wW z+CZYSHZMY&1o1Q=$j%@#sBUN32Hf$-M>k$D3K=es1TZ9Or{Hy35w4p*56&>*1%Qs4 zUr|0(Ld~eH@tfL|4X=fDPfx1dB2UMyl% zIh;LSvC*A8^8L+8-s^6ULuz6mLO@btbhg9s>m+<+U6o2f?;SUh{bl^G9s(jFC$=dR ziJwmlMXVpV|MI4grH?R~C zVv<8745lceLq!r%6j!Ow@;$#dRI$ZLFMC*}iG(T)=1o>jgB3Z0v_{J*41yWT9j$!P zO;mPHFx21{)NQQ9_3E)e8!RFtN&M8!M!mL6Oin_MW)BLY^DQ+jJ)5kVN3{^sO5lL0~tklP1X zW@^?-lbb01oFGw-uCpH%e^on(UvWi8KikxMw^(0Loubw5k@1u2?|f?E8gEz3M(jNJ z5HtNT%HHQivSfyv+3vC0ArW+4L!a8$MJ|z_q(ibkX%!JF31T^%gkWHUGQ2^)t1`e7Hi1OP;FU#OXZ+J6a2Q&n2dHzb%R(j$w&k; zHa6x%2;ll;Jjx@2TjT~(&rd`TCV9FtpbnXyvPv(L&Beubb}+F3%N%>wrXugE&E8T$ zEbwx_qMZb;GZ&3=cqhG^@YkiD31lj?7Jk^`y6T#OYSlisJe|?&N_NT=N}k_V((1>| z$MIV-)4Dq{Z^`rnxVAB@M$);>m1x-AN$&yd>-WV*7pL-Y&uUNU{n}d4)obdSQQ2vi&DW1HltTg zrBIu#l-0%GsL3emkaXT`ym|k*8VT`S0TL31F09WT+LM_guJQD}xBIQ8=T-P@#gts^ z*yvK}`0g>Z0zPTy_ij0v5u0Rv1iN0@i8k|ND;ll%k?nzrIEo-HUz@&73H%z>8PDU9FH~pQF7EK%wE`|uoWi{9zXk=++8U)T2 zp&k6vGE4r4{4@V6ZLYk@WG{waTCb&N-_&MRgY(CFx`_1;m%a^J#%IR<)~1eC7ros# zPP6*O?9G@aVMmSlLymXUjw~16A8b!5hkEGB`T5x~vE#(`xwRAi@+$VU6ih9Y9}ns2 z_4+61Kg25=<+Qc>p50Xj@;&e$$PmcaV?D5T%J_^7st5CRhBZ4c)jvvh-YxC(aSMD_ zMn#z;UH=;0slKC9Qq3;!-%LcyU@d)8^Ew7vC0Zy=&i-ni4AkUyJiC_v#76xopUkaQ zIy-FcILS=Ulq(JdCQ~ELbs)vGB19-N#`Eq+O`Q`z^X8svuGsW7i1Kc3C=KePjlqqq(~Ysl>YT_Vn9J*^OQmH zfEsR=E~3BbdJ;)wYAfo<64@34j$Bc@$Fy$3)dEASN;d|>4bbkzbA0eVK4TQ_gs2fg z0pvOpgOT1~M(Er?+(`s&=0Q04K$Qprj6e`VKqSH0t2Br~hg)(AcL~2}dl!svxn!Yy zJUCedi9Q9nEUSe;WKArfg<0zXwZ=GVkRi5MFHniU4?GtdB9F^nTlK4L_ z-!wP(UC0CKu{u=+bC(T&2Mrm&WOoCDhp}&9@NMEPHFdp0?Fmj@7O#QZ!`KHkMTVN2 zS6EJMMpG1nxKL8(Bx+JysO>(o z>-Cv|iKKkGEv@ObvCMF{0dAO##&Ob*d{>K>#fKXNL#;^NPtE$t9d1dmh=AIwiwtgG5VEoqE!geks<#` ze|B*v=-HPYpQD1(8~dY`6{#AJn`1(f zrL+e2Aa(f1NzDCDM|oQkrh7b;A8#>_2_elRc&Wk7=8&{d-6ouFf*%{NON9k`=3G?K2|nsPFw#P`SsNOR&MMSgmwX2jzA9zAn_Rgf{8J1Ec0~{CNUPg zE_5QP{)XZM13hYml)C#a{(XH+g{dICsE1uVZpG!WLDQ{PChdzzb|=4BJZ`Frs#FB6 zN0#XG9bSdio_c`#{gCLoL>3do-f{CodhdG0Svi8f6w{z^Dds)`P9 zR9TA6hK(%jZMsT1F+@MZ|AgcmsGTXD$8lahQXI^g!43X9Bo|1E)bBos>yRP=;rb(~ z8hy7%6#Slr${7D|d|gyE0Yp73Yzo|!e5WT7YZo{z(PM#}^ih4s<7hDYlK4>T-##hi zoOpjR-FxEV*9xzUlQjf)GrRZKtfvi!(@K4EOO%zC*g!3|oXLcAo;Fu^0jhQo568HD#J&P%>=3S7r@Vfowzq*vd+oL&$Y6*j5Hvjyc6o?z}zK^5XmXD?ST_Xr5r4WNOe$E$bCv z_^AKQMe!Ihmzc|$ImRAI5C$8{Q{Q<+MI0?91Uj>DpiOd?w=~xh*6#wH9fmQ&F8+GML1bJe`pCmo_P1wRc;l7%j~mMRrCfE=nw#yStUJKa z+py4(%6s4%r*atci|ym)EDrnIdr@cp*L|s~*NrXvS`t~y%X4M~dg&iY_7M`^76_aQ zvu|s2{+~+Iny{klY%=6m?t^Vz8FzDhO_uVluTx|0cRI8!E>kN)*|p2igTHa|=O(Cj zVx_isES{zAg$lfHBC*0&Bgjb*DTaInp+lD0BY&R5c*%D>p2kgwHanP~XGU=x-K@_N z%TJ)cjxD=rnetwp-z*w=Q}>p_MtmDv6~*i+wtC!3wk|K;&Ps25gw;>A;>xjx3TGg> z+66sc48AC z1tDCv>g`!(KPk0=@N(>SJ!4>bd>Cx@>{(Y@o5VNSFY*Y*alq>_Q~ZMWgN|Yl$!SD)8WVDNTEZ}adVBIQc&wai?h zf0q{aWr$6^W;*Tea+R{iB432;GE_s>WVn=tE?OqDVaIppx*j?nX)HX%UWZ%>*CgA7 zXY);cb=F1CLwBa5(={@Z-S!E3WduXDt-@=0dHG`WO?$Spl~$tIw$SD?(|dFqGQE8j zXJI;$=W{j#ooD_~_l@N_fY9v|~KMqD}M9(Z2EeC^d{843ro+En% zGK&eVB1cV^ART)|Mi`p|RE$W22bB`1$3E}_mwF$kd7od)|1C;x@y3c2 z<&)Jx_U2$;iT*K)r(3O?JBYpFxjE@FYh|hPQ_{xwAI>8Q-%z#kW)EnT}VgtKqycUVn5~c)ZJ+-Es~#wF$@|L)yO4cd=DX z3O43dZCp(jM?rIoj_1bnxSG7=kAAw|AWgyBL$)+z*yl5qH*N15W|wn^$9MQ03~-}# z9MjcKDCwHe*w}DsFw1UHitHPw&wPAdvkR^Rnzp49vGHOSWdA7!EM)xK{F~L15qI13 z_3o;$;2HEerM0@+9b3rBn?c%TFrc1coMFXW0x$rTQ>cL4!q3JM;&~Xqs7^e%;#%%D zxychvu(}m!i`<@~=+){Howe$o?0hz0jaPKB*iCh?o#0wEtHr>;C@#71!SC~2pM^*G zetyH@R~;sJ)!e#I%qv`Z9CX#GEM0rkGWm1>l=kHH(fU@z{{%95-eDZ0EqHAdi37kk zVZy9F3VMCfE(|K2pRY^o)jrD%2HBmd&17?W2872Y%)|AR_1Txc)QsdBZNp5-sJxm8HyV^6-!tA?(TysbeXf#qCwRcJY4H zMl{e7Z5fj`_lmYAN11tb@upxu%b0Z1F}I&7x72T)rh)Uio!3C!dN}yhuamiDy1ll> z`{6sm$^MiO{?NuL+k3Zb|9$0Lb+#M_uQSJoVxxks=rZZM(OxNkfY3a>is40zi@k;K zbrqnut4UJh{}?fS7<;2y+*{1p-mpYml znuAfain+&QrW2%!py41@c0PrDtg@243gQ>Fzc!7q_Cx}1@McE$`ELBd_2ghhqJ1() zfY8##cOjj1fsdDB;RWueB8U=4ON$&$2{|%$Pyc6J0Za*WfaKr*9l`bLHA<>$qZU$G z*u&`DfgAXDH;HBzMl--^=~qFhuA;Xh^<2+HAzCdnGl_jVAN|Q}dflnujsod>PDeCo zZEUz++I;PCt0W9+R}@B;)Q%cFVJB+sez%;r{CyE`~fbNMQyng@AO<>t=0PeKO4O|tv}J?V4z07S!*?&^7ODQ)D3DQhhzZ* zA~3)tKYrcWCiETM`QoH#-~^kmLSHJ<&XY192~Wn|FxaTj_(v&Rs-56iel%9vAMA8C zWb~a4Cxyb1i`9{uSS7*CTNIi@a=z}<&`uJ9&{lOd@Ne6*@qT|Po>V!f5*P;!UAqg} zzG6GKvIX4g(mByu^m5XeuO*}( zh@#|Kh-)gT!gX4rA4&lyIK24strHFhVHatmwOoe@H7rcghVLB>DU1h3uD7Bw{TUj1 z-|}b_dMrBy_xJD1PXw^;b$op_9$mFZ1MiK)?L5k7;|f`zuF9dGQ0Q2Tc9vt`8m&TQ zuIWPW){$Zf0yV%$s z$Q5JeJcmlG~fpr!No($s`~Bi2x$EZq84{`@$3oU4cnmRR9Ds%G6I z&}HGF&XGUsbzo-Acq=BfR5do5sJ%jf?Mb7P&akn+Ph9v|SX29#i~>1oL*Uc;I9HjT z{wB*47TUuJZ?kmR7uW6Lwf0sh8TRcGXojD_>I4VRk8LxW`+n~`KEK^Xnlm4AM$g${ zwUSu||H0yUOjpS4vXvR)ITF#fI+)X4DC?|$9Y|}|4w1z;B)C_dFPE&ppk$t~ z#vi%jKyww>eJH~L!0;Ml33_n#2z;^;E+- zFT|Hy@5xwhi>u~RyO|~Hc_sZ!#X-(u$KI&s?-p-}(-+eEoiQ7ge#Ki(wTFK|6G@cU z3%m$>Bi0Gc3B}EtB<}q`4LOGYHROZ}IYw4BDI`$KjQr|2zJafEr5XD+<^SvR4Ce3> z{Ddrm_AlM2OtY6dQ4WT0AXc%d33{YW|75t29A#HTUZd2UcFdLHNIx;mT102gE8Hh4 zl@PLQT_rxv7%)u1Q_VQ-u#kVQdbrMYelOS;BP!sMFWt<>JDU9>&oH;f1>tcn?E;rY(a3HbYky`A5 zdCsHOL2%fq?GA<%j9{@K8#QV%f7ZdDc;EOHs4SfX8+2>!lg6U7k=f6k@{3R6C3YpY zcp58b1?txC$=)WuJn_@X)x4#fSQ#EJxLZekp>4fovaTN0)U6OKZ?z-nWOJDW33x!)OC9TN=zV%1oVx@F2#)L50|$?))TjF>BI^y7gO zn5QkmS1oU7951I#l@cOK!mA#$Dm0z~bw2lAIStq9raulUb=uk`)+GkW*+()l?s%E$ z)!_0hk@!}=ZQ8|4M|kk?SzSkxqxTo9s=C!wb9b>_Vk&2ud5T`BSiaXuE-~JuKyMBj zEOF^}M7?^>VZV!{i+afsoXla5?x^*Sua7Y8Wj%tX*Vj4kjO374+h=WS9zG{6wfzd5 zx3>Noc}Q*X>SdsXHGXRF%VTxcdF-4p%}wjXr8e{Dr`d(lNIF(2(fe`wK6YCz9}D8> zTk!J|I22ogAX~g&RCmwKKc`Jk+Wla8GJSbC7&~vXhGm~5+3IQ3d3^feJad`N6!se% znHqekf%g#fLo_`Id9%efK%cT=(IiA)+oC+e4GS6y$$b#9`7y{JSZ|N;k7vh@DtyT7 z+R2Q4cgc)3g|R%Cg(3cj~{l&gz2)BsMB8 z)1Q{`d;C^Ym3&>dMv>(C@chsSa98I@1@WI8%`tU5ZO+9EmCqKUoVrT4XtD`h}kH4DF zIT5NTD626y7%NTggD;u^Se?-SaM;k|K6uPlGcBf+TgkQS_U z>uNi+m6o`yY_-16FC60v-8($L%imrUtL@gbuFMX&OmZgNbs@vI2L}ay1ioTply!Prh8A3tOws6 z;wK_Amp3_{_OpPi^p>9`I}DvVc#pwy*s5;Tuxx;5#YCBK1My@Xr=D4T&c{R5!Q!#% zh>+ivSB)ctuwCj*>*|HubMDMHj&kFbyGE|1C`d(AxWFV#UaTMOXCHeGgz{i` za~lI~aZ4pV*Cf3}Rr>O$dW&~`;M@Jhr^KikG?3D1ax{j-C=2NkRidICDVlByUVIx# zeEgq~^t7{@jGjsn*Y$yKwxT-vNakjRhxv%X=o$73~|B}3I4%2bBq*+gN=;%$u z{p--f?6Q5!UPYp*Y~$n19s{^D&)jPs#Li6JrQ~REUgnBfuYPsjlvGm9v^cPO5|y2? z)A#o9$`c(dWjLhG_I^t7B3-_?2kstBN!DK@riBvWP}Jdj%4hTnME;IAq#oe-nJwlT zv!q<0jt>WdsZ5D;bv z5YRs$ARt2*3u|KrJtI3C8#`MDON0M^0yrN?0hFoE`%ne2|8NT=Bq2pXa5iVe;vk8X zN@7cYAS4M!=zogHU;_}u{}N0EOEA!2^)b-6UyT9~BhkFp{9Ka+%r86Ma@}sdel_G< zr>E6Uv+8E9;m0f#v4cYhB@h9=0RMc?aHn+PKEA^Nd8LPNQWXkM$qM`aALmLTqVZWhi`$!3cgYNP%{#c(MEk zF^#>SgcQz~9CRxq==X2MutFq%+L}8({S?s+M2Y}ncf3$Ycy-tH5B={Y z$?1L12JRUeT?Re(jd0*@Yv4YG zH%#mt%+d?7VnyQe9}&&H9GnD1f#TW0kOctMvO?k>Z8k=N6p7+^X=f(mqaFGzHE}Y& zAX#Q&1d=l~ku&-%>mWn&@tr{QLw+#gM5!+X1Q@R$uTOVEEIkt2UnMLl+CUkK5F`)q zTM@3`_I6EmlHVH!pL!3&UX{y)CCv&9V{7J!iE5s@oWqa5cRt|QNNthW%$iXyBf9?- zPo-DB%QJoA+rvF2?nqA0+1kv+y<+azXsK!WT8O)Dgc8H_q<1dPYCeB%+Z-_W!hpX( z@h4~My_PNi))lSspI>N2t+rubS?twU!FzY%*~|5B6zUv*Z$2x=8Rd}CHW5mi9&|I& z%ra5v_ZG`1Ze%lYy1IrAZVq!w%{Kg5BFF_4$~8DI{O$j1`4OgZ2&&d>ac3lX5z}!W zwwshHvqU!~Oy{DvrcwDXukllOc+sG!Eoli41Jo=AtM*BFDu%~#w))Y0x%I*O0J~n{ zsOOVdN&!%q)n3ueA1N}zO>D+d+03({~NK!8480R(plwx3NLz(*}DH1C@K z^(NSXuP~dlFAhu}NC_cGEpQ<%h$E~J20TXrG!17T0|D_4p?xL=^ab4h7WhT0@b+iB z%m39B==U!b5ahi!cCc0o6NN zP-`A=jTewSQ8_=*W*+FAoIg6&vUJcV<30DEdpzKGv%t=c{24BLeu#M~kT-syUV{Bx zIP>;cP*)4!g#mt$V+3$v14JakLgCweDahOiu!VekO4Q|1f!Y1&Ws)<6LWDW6Cw2f z33NvK6bV4gvxxyBNe2Z24^HJZ_h*y+lg8Pp70N}rU-6jULbwfzBfCJ;!JnhQjP5IU9;2|FcQ zEC|{wh+JhpcxYX8etaEbTP#1kf|486-UZAI zDc^q>4;!Hw;kkD~G+lT!8A_oSSfI%l{up=?(U;P^hf6`#Mr1qzNR6@_#$S6u7qOi~ zIAD^sBjMSOG?!6XHW zZW!Lc)m;H688UYU6@<}B{2nnF-UM!wq&U*wundSXwy^`0>tLT?kOME}tRKk)RAgye zaY9iMl>`(5NH}*4r4yWENg)&fWW=P82$2T2LZ&5<5gZA})QbR=^DusHy-*siqwwA? z^z0ujG!0rSodIbZQVBL_`qxswnXgU&d}jY3i?g8QZ@L5i-Jc~ z0Iu=w{WxHO+ft7de{w>>8D7bIh#gUfl)w%E908q(^j$zGx1BHh89~n-jiVY&67=}| zgp_FW4QJ006`PFTYBvP@aIQZZ^!`AD2>+@wukvCh>%q|%N1&=ZdoIuwcXkmU=yafWZ%k)x`5#?5fgT<)oTq)=QT>=GUeyc89s4W)j+XT9 zoK5g15drb%6Ig)fQ_%eqJNET)txyyM+Cv@MeDVQ{N+_*}4~#ydfW+T99|P#%J-|Kv zg93y+>4OpBj>>~mqR;&J9&(^PPzIG%DW|t|aG2SW4P?NP!Ip3Q#3TUMGB5u$~SYnqcqdp1VH&Izy2D zyiCAabsr>;v^e$|jiXQYP53FB3N$2n7q^Uc%cr4VPkp|2dS~1`##f_Fbs3^rr!{f$u9QEiL+EHDFal_<#%&d8~ zEsg1#YIpKcQ%vK0q9;t6g6t6)Q>L}1beUIr_-##BWy3doh^U5y5q;u+P^H>nvdci^ z4p2m=mDGF0kzE{WLkFvCW0@jPWg^HGOuc+SaSR}lSm3wO3*0+=y`Sne`f8{^*#2{| zpO3SThUg?oBirGR6D9~oe5jR)u;8O99Z@L?;ghBagQzS$U;4yR2|PfcEmk&2Uf%}j zM*Q5qY6OWf?H9K{$@aw54YM&<>u6h{N@h$5^~kP-c%s1*6+57RAr$%hQJTn1~tA(V2v~a|hHL`AdPJpcX z>fN*LHLf@kw=>lI7lq~z(St)Y=Py(e^}uq>rxj_yVpj6RjZmcEND?o+B@R2M-s;<` z*+&-wJm zHwuPYjuaBxP25LZyPS5Y={t}+f%GSqV+FneLp14O8m-Er{0S96s#iV5#jSjE9IRwR{+Z zWL6f7$QN~Blv9S|LmdYP!|expsPdZDgekidlh2h)Q5GY760G{~naGd=SWRU?kzg;W zzKtP}XwVc_ETbB8K)%dgCNf8JBWHddOOJVZoNQQqx~JSd)3Y0KOtZ7tk56FA0 z>lh7^dc}=}_JAH5SSVaHX->->L4#4^ZQ) z1k^~yC|Gg5oddCG$p<*nMBpcj$$dBR@{;^h#5qj13!}2YQLXg~4SqN2@}4rn(764B zvlcM%{E_%?RwzX<xL5X2-fu z=g5d}J#uSbhFI4Ykg%}=-Lk{9BgRD3pIbqDQEoIT(s+_V@x}vwGvTUtBak^Wdqahh z{K`Boq+%K^paRXmiDpF?z-w0izRoB37n79xW761reU#RUZcpuiBp=(=ZO z<}mB$TtLRDFvFps3hA<#@(8e)b!Kq$|6M#}<(9X1LC1IfqX#71*j8`9+Z$sq&^I&c+g1KJTW5pCM?GlbDL zYhH%15i*2U-!Y;SleqHPnsaqVME>M6Jp798f{U%DiwEXe^m>UHT!A404?+lotAms~ zv)&#_>wMe<8R6uda4UXmec{ALPNg9X`lBS^%Rt|cG*mq$;DV>WHE^MW?r#odaNZ-~ z>4s4|d=rBQUZRk(6W~!#8f1%*hM?Y4jNb1>umOSs5=DdaEzqR$7w$91don)-l!o3s zMe5SOyngJ#F75$D{ArX#@Z0*jEi21{k5T0@xwTAvW!G7)hddGnB2r*Ie%@gSTEb`h z-lkI-O@%w}BZvd-KPDNKDk5$IAkqEbqu0i;V+9UehT8;-5M+50Y`P%ER)R%HLjWNo zcRAO55Q>9lr1#jOF7C^h%W)7YUfMo9V1SwYpqEsZ=534m(hn9oIXW7F{8m^n7W`R0>~*s2c(SFv3O3?g0v776{4;Gr zk;JBtFI+@WNw;^oy?v*@GQ@kz!g!hvPjCislbA_75_M5EVQzR<2mGwz7xRKNF5kU2 z5eI@!d+j@x-Z%%GOo4}VB>%zv8I<&g4->Zy3bBtV7sJQ+Plx!Z_Ap$IVbBMwz|;%} z@X+_g^FHhJ4{Cv(3(^EQH#=%W9NxKdb>0ljymw4We3a*ud$NRuJYcpKRJ41PP!82m zXoR8k*dF)Zo1{+ZMfN2OCbI+B3_P80?5z8Z! zhzPw~W7THiiyI)H88f2Z#`L4#aO!YAXv<~tqR06S`U>H8Z4XQ<(Mfj5D19|BH0(0M! zvC!nlI}}>K<26jG;7UN#%ol&r$#_DaaLn8CncsE-bBqWHIQp?)V+*Qka;Rc+kSOtY z#5$4P@1q4B2f@U;e-pv%#eIDk>*=sgyYdTzqUyIS?dsL&Q`hPcu~DKE6xWE(wzxtQ zJiYy?v1q{O)M0&1GB`MnH9*e3NaW*n%qKg}1ug?o>`}Zj{t7kjxcO(FTEbP|6c>^{9)$OzYO)ln5 zDvlvfM6cQ9ZilBE2S({i+WFnv0{9a@VL(Uv&=Xa6C{nOv>@L{CMf%Mn6%#7RmR;Z# zTa-A<#91GYr!fv1IZ$Xo16`%6IyAp!{}Zmm4YD>JS43Dd*ogD1P=#lwz?{~MAvH3m ztcSIoJm{=L!fQ$)lE5truCYYemM0E4@Q9MTvMf2e513Sx6z&ici<>H_S73V3>u%+@zw#^-P*DN1>3JWD~w(`&r zu|Mrd0#Z?a{^1I{l~~YI+#86o2_4K6A^7Hd&Xx$Rmsl3eB-j@%locq38Dee6%VgHgZc@Vtsx)MnM|)A)*LD)sI)k$NjJ zuh*;5Ribj?nsUwrd^)I#XlSoL)O5;4)!OBR2aGz57>X7kcNhZuf`LwhCJqTO`vi^z zKpdb_S85|NlA8a;ci`>xtdAv+4kN^aEB0_Cuw8%6pes2^ycHei%ExV{L*K}R-E=S5!+K=vBP8I55JGL%MGHCf)`{~*!=8NepgAi?t{x-i*zVAK zBqo4|A4v{q4fy)G5b_O&BNRsrW<)fb(&msd+GpdTcuumS?raMOv0n&KQZLw}b!3Bn za5{o11P`@?ML^nt77^voJUQEdzMuTES4xWd^U=)$qz`-MYZie^9uG#q$8h_W_U(S3 zkCFM`+OLGHkDBT9x0KN=9}+m8)LxR4vN{QRdH2bqMVbdVoMqI!bH2myc-Vpwec%yZu3rzbpG#->qoemvfJoCgXo#7?m*qQyrNKH38j$1R_{*9M~OP9iIv*37@ZIm}VeSf>%|uwGZE; zrusmRA~@toyM|UjBm&u;gr~Zus3wSgJ^({Dd46=r-G=84$y6J29P7;>x!J#Mq^~~# zf(NAnBTeO4wxIuMFXogUu1 zVamg$LHzs$Lf9{%r8etouNJe0{Dr$kqJ;cuMsQY0TA^I5-qf?_LL+GrC*UPB%%qE= zMF)%DVr6OmirG^wXwGPxJMUU$g5-Ryc}(xQ-=mYJtdfC82j6~)>8sVY)<*m2bku`S zs_s>9y2F9naB$NnMXjnfr*4+pZ&}YKGhEfxQEf}pD=~Wx_aty6!3H%_`_}tyI4R?-ZFgJqm%e=c>a?_tpyv7} zc6=_H(m;DgWqQI+-f5#rP|Wi#vw0OVrK)Uk)<%xQ;PDfx*o8#XWTL`wX~#@VmV6Wn zV`|j{7D#mL+SpJeKqPpdN}yPo6r2JoR0hzE8B;PWa*w7Jo%7!9{4J!17#CtVG$+Jh*+(d?y>r8ZR@%iFw zxvY_z)DLAg-`OW!hi0RL&8D-qcHFI3eQTAN^W=3njHcAWm+7W8@{M|!m{Ux<-$`m6 zg0{;gUkA`%$zcDWhUSJR+QV;=>j^SGdJFQI+6}z5VVRI4P4ukUVD4mo+BLN_b$#Xn zS0(Sym_&;izET_K5cOYWC9yEPm)fq99`1%Vp9!?Dc%RAwG^7#OHZ}SQDVe5P`^`&4 zhc5LtjtYR5xW}PP9p_x)SMIZ+GMp@0aoAVac~YslDN91WCDsU&Re3LQ)-c)2O2$cdyBFT^%;; z4E8URF%n`uSvY;m!vStu-)ZjbtnS!j=V%{Spy3>DN{Cqcq5vE@oY5mrIr!C}mX-%D zh|bUOq@WLcgHOFdf;N0^p>KvBMHk7*m^U(pUA{7kvy(gtp0o!_tL#Dc?-!OmaqidW z=F5LJ^4h`@Ybwr>Xuo2=P2bd~5&1(eVnH~H(AK;4T9W+oIZRJ0mD6`QY3wxin& z6#C^h2iT3H>syntg|T+q`0Zgzr_W-Xef|%Vwb<-$mdIo-UUr)p?mM57k4-C&wQr0u zq!5~3=wYkZU7K6Dl$L(9<(Xx=1_XM8VYzRl96xeFaV0;wk&|O1MAKCwn)P%kV?8{5cA1pu}En-e12m)hb8_%nk0zpikx7=#4rSl|k zPSO0kDH$E3n>O@$k~$cy7j6jQ@abXLy>p$`J5{#IqQy6Qzs3Dt>=9dew!k5myKdOj zH0&hWPuc2Ze2rnZjC%~uGil8oS?%b%r>j%uO2(+Z!FhhXS#dq-#yxPDS9@F3&H@aN z%lE)&c%IJbVlHFzd8vx~S;55Vl?Zq1r(P2$cGz8hOT3xE$~%WQ?W@tYTf7mT=BCzJVf5m>NJC)A394u%j66tv0Mw4Fa(*q%(`EedF00_KC(S;4rr)f` zD+RKzsbq5@nZ_d0>IPdSRxpolX$tb*7Ug6zzVr2G{yW)CTe&wJ?FR@pA)GmDMnZqe;_YdDoki<@j=oy#9mVJIu>x>QT%j~|bU!)4y0was|Okdp);#>FhmZ|WGR+abs#El5D z62L?RHrOYlfD1<=2fHfVXanqTyHZ^$jEF3im00`m(g3kofS{X`_#!8oJfTItQqjzD zGyp~~#0r4kpjFaPB_1i}BRHat-^o zGIiq`aPnP{A*pW$Y!Q4~4Opop^P75EFBsosBdelS%YvIieIQ+YHv9 z)=r|&m&oy^nlR{on<$;E=dGIrt+)Rq)ix|!Gnb|k|3lKm-1NQTcTnqdTUztvuPhDxcS|Yz%KRV7Xn$x-oOL*bH*bQ{M8)lek>#q zjrd7DKg)*IEk8lIosZ>TX-22q29>NAG~R<^(rLQ3+8LU48(g*SM(KJzZT+HV+09nB zLF!MgcSR|%trKms1EeW$?DQ#|%mvUlg3%>YwC#BB81 zpk~B+E**Rp{_-<9eVKW$%1hi`%seB(=;|xI^t-Xa_mUy1 zt?CL!eBvXA{U4OF@oQvWmdkVGKf14_rgqS39j^<|msvB_^5`sdD%-^$8l9HQj18yfo9$GM8n@;nyt0|}s!rzxl)5x8 z{L|ZZeHjaVnKIZoAEb)q<{S^h&ar{ZlTs?tgkUbmgy-DSZ`Yn9%Dq*quvKrrzkMD> zlOO$|c*?6Wu!xK+<=W|*dj-RM3N8bE^qa!vD?&>xv_+O~&K5QXs=?bk&n}BdlbV}e z;t8-mY;rc#-W{)ji#261^k;27^?m?g;o{=(G1jC^?g@FRMuwvmKZ)E24ev1v$N!o> z%@5PeToj>M={o=fi>RSNX*>Y~szj-dxG=Emy@-DTAg$dne#Qw->Dvvi(NE4F(qKpd zXO-m;?2peg5&}t_-&b}B72{u5D8dF|pka7@r;?t$3ZrAzsk`_$mNAYCd=DS{0HuJF zV=N-xDDAg3Se!}dO#%%k%jQAQp!lYv+weE++-bC0OSaAkthl!B1Y#tVdRv!K=9T$L z@2~FMeX=zI8@D>7ESJj1+ujVchQgG#CUjkOa*AaX%#E5GHk)i!wF}BMnwHft@4M{P zVXwAd>n}61kmTgH`GsQi*3fe&x98Rk;Bu&^qtpB9psphMa3Ab zQii^IQ+n*8^Wzd#TxlPk+4uPGMDDpfEgQ-9u0~Un#p5ogO7>6Jvi9l}FP-9+dJ>yf zv5?t7matRrwO++2)|%Q18FpC(w=x@euYa4~XP-YOF*_@>=_v;MhEw=(`c`#jQ`!1*#fb3)|y3WfIj z9&lRsm?-A+e*g(ALK~j%dq0EJ5JU$(x{S}C=07U1#Dv{ns)molaJ2POa)kGjB@@Na z9fr2mR|4rmB4m%rcysAer zE?aqQUW28rs3kCKvutht)AL#%p`tc^gdg1M3=NJUYq4<&f$(8bNnL_4L1~S%<{GXnwrZC#i>2HXEu1{>K_tDI3-&!5F#|^8uu{hW;;Q5s2gq6-^sn& z%7?a@Ivyg`h+bG$w%oEdM5xYldUUn55pk*j9=4^17Z}_r?`|IiSwirf#%=sD;i+D) z!-VW&s|RB>nkoC?vy*dr>^x|3enOc#A85Yx=j|U0Md6IUbfs&q?wnnJN4#h-MB`Re zBYiB0RBc{O?561VP(&xTdeq!G=UO;zJ$${2R{j7jM{a>vlAu*;y?{+EL$dR~Hzb}yXb3f!U=|MmXbG;OQJ|TX4 zD{C)ZB==nOo)^=3bAZv~wfatcH^_P-g7IHnj8%GE0)E?b=_}$6_l*Q=cZFj#V?)B2 zv)V@&8aRtKbn8{5SL;3`4w9eU=+a1kJ6}$YqlZ|2k#9Wv31^wa^gChY1Cy@5PzGUm z(%9=)yt2v6()^~iznPqRzB+2Lu~n=_rW`?KO%dz-?NRYPgbTukKH4N2om*6U{kD10Pp+%bkaceM z*NL{jvr+%ZSo9btc9vH))^2fUY-~KS3(OW!*e#da<#JZ?v=D4kGJ9R*&%}|gzSqRw zVts3SKfDb1uB`I6zY=%2_cTzM=wbKCa~pL`2Gh%1-;bZm#hF>Ah$&>4)ljAwoYC#H z03Ax*;hZhNqy&}UB!tmsFysD(4dsV6KU<|6Lw)*3OB{OYsd@*)UwhDoKo7mxMBS*J zjMXvK*yooPM;Lz=+AbYFsZQh2mwD%46Vg`+yE#84C0FyIkqT*A4a-KwFwHtF_j1dk z=Jq7GzTx&hFG~DgbxN4h4!7mCKK$fZw%uP{0%o>!n5NYZM33U$YsEEa$DH5UT-ewP63CN2sc@8yM6PoOp|6g<3ayP z_wvdT)R(%-c~Y%A84EtmidPo#>IWd4NEc6k$O8l+{g!8Sb4pwgnyigf&T#@|9*I^o z%f(Fx%QBTc2xKX_vg8-=s&X*;;wo902SQss6Kzv`!XGJZD-byy4we&AWeYq@?+>nD z)i`sCF88doMA3T8x8xq*or&t2#bi`c{%VdS(JAqNz4{1g$T@xJ7_Fp)Fe;l!_aVU; z-pimtP)6b0GpmNcMW&K47?mI*(MxAW5gCGm`*#dPL3YQxgyM<&5=9Y!(S#3u{6H0# zX1g-EEqGtBBvA8txCn;|r5ilqbg|o6DsdaaWFSZUb`QRvp^ftYXW4m#Jj~HV|8L0G zWcxDLxx)Wn$XBiP{eLz~SE|fJjLPKaeI7fO`^Sy(4j>-?rnQjMNyEp8r+=rWG&BKI zu#OgIZCntZV4{3(wA@S+mkgSljyuiQ#dq`$S<5Cg z&`!bVZ}^|W+xZ*34;;;&n^C-Zu?Fl1jR$1NU#OM6p^Ix5+d0~H^He-kDb0)W2b&=l z^fc;3Wm9pJJ>l!YdJCRQNCcVWEMv-T8ditgMPLLYb{I#u>~wN@+|uWV5t4D>c6h8A ztZaTJI;B}r4{Ie!@GKE|${0C)fj$K8^mijlh6@u%7|AO`a?k5IG`yyqZbF%t=bKkt z={PPksc0x$v2;EZDR#YoQ>?v=CP}o`*=q-g5?(zwtgCM#2LCh?rB5YVP|M@In)lkS z!c_0ZCv^S`4DP{8>!`7Ec{X^_;cOf*gP)mfiR6~6-F@j6pYUl*YLsYJcl+ETK5chR z=e#w@vu{v`%jLXfrtD(WpD^53RB)C63c~9&9vGg+KtKC)iW#j>gkl75Yz0CM7Z7W& zSf@i7Is(^Z+Aubv+H9jN{Bitf*5M`7yUoGd+I88eqkX<3s2d2F+hd!Q zvKsQHQQ6Fd`1Fj@A8-er-Vz#J(TSE8?p^yq$Uu4nwQ~4DsHPhXSBWotoM9FJ(bdw@ z(o-7}6CV>B>PKw-oVja(%}5kuRK7=>9^O6Csz~^@1svQSuUg_QifgRSyLZR3G0NlpU#y)&kSNi%ZOgW8+qR8Uwr$&Xow9A)wr!iIY`?k@ zKmP5!=4)nqXGG>+bB#H8XIdpT+<9K^ewJQ89p6rm#Qz=CTTMM0@8VAUd5VdH$m?!M zV|Ajf>|?iO>@52C9wan6omr?R&p%h->-+pvEejjS)c;|c%YFB)tiRVO*J0sh5^8aC zACJFiyG{3@c;qyu(r={F9Uj^~8c6Jml@tPh?KN?_HB9MV%+jj9HqmT3EaQ8_Ze~`t zaQ-o?jVCdzBpxQ-DdY2g-X;BwmDJY$BS^sCu0Buszl8-0!kYZj6; z$vj8Lj%`XO7UNt_mrh_L6ztxy>2>4ey^NY2ldq1Lx%#7!26+tVv6sVUMj9!RP0a@MzH8VjGB30uUue$*RGxSbla zt29@m=4k`}hFViPd^o*mwzkD$Ci}u`*78w`Tou^c|M?&XAL(yY^KvR>2dm|ct;|5* z>siXjZS1!8l8RJgG%|75zhE9YlcB$8oky=Qsm59svflD8Lu)d#MeW>?N9LvQ;I z6+h!iqwE6W=n3g^fm9rUan=#q`_7 z#EQn~*hPCit8jg6pRyK3BXo?WWp)k|m>#5_RtDml((*b*%5q?On9J?S4yrb3HLrVNIg!JTsFdGXXQX2- zr(4vmn|gi%>Lj^phH@5~ODTqlyP(#>U6jw-IrNGlkX7ZTexaoNJ|iAb+eBV0Edz@w zoS>|(b%u~|c&dE9Q5_;NM zt!Ey(?S9D$X~mJjD_+H=)mu*V8ZVNbe3uyC2_z>yJuB`X~EY@ZJhw8x z{4CAdf%tXVbs=QO5O0G#V2N=}N#HUNn)Q`g#j*W6An@u(6|KJ#nt_QN}Ff#j#RQ!CNlj8O|LM?Rl(c||FmkF|(!-MSZ z`&Q_t(>)J+`g|g9;=}dKGc@S6H1#HP>7WPKX=m-xX}$G6hUVlHb>&Bs^J;WgN{amC zsN9WnMo&A+qQ+Lu*?H0|xJAVLw%X44(9$ND9Qp@&*J79<-0cMy;+(_n?JGn*`~X0! zk}6Z%BX&DGxkKS=t=}%tW*>Cpp~UZ@YU$lKzFXt8Y?Fc2eZ}_CdZ7#Tn_HDCBzt00!}{JsR(s{X>5SK4b@QH2_RZ3r{P1dh+fYNY6YKt% z3WOH<0)EI&jco`wZ352ydEaKy@+U;8*pM}*i#ST{AG$7mGSfapzVW|d8#j`xmf_rX z&+?;-$+qB~mUU_o{I>q#?l zmQsa|N8v84S+eCaa#M75*1bUjzFS_~3j+UVW#Rl$v|xO-*eq;-M7Y{W4GqGgCyBy& zx%1_ZbI0fO#hFbt{H|FHYQbWbVUrirAbwK00 zBD-Or^bRPL$o@hEhAIifnsB!`Nh+LAMUEgqMr;!hBQC4jMC_Gx`dXXjXaDDh@Jh3= zt$Dq?UY5yv0<8msn7w__jD-i-r3rO2yXG7juhLV~T58O@*Qkn&sWcn9?8JK+nchTOxE5x%gk*BMvp z>zm8GD%tO6X$k@s3$E#cfN&beSlc>&FGn@&>^3bfe9y|8RPImzOdR0_o1FzQWi#r} zsuu=GF=jNK;APK?;nRduXA zG+vG#NpEr^chpx|j!(8N@YUaE953!lVo*_uLWbTrneof6W0jT5*ONMV@UT5`sBBj` zKFTIIho*#oY`pJbHEmiA+YRR?rXJWaJrzY7Eo8tW0e41O*_P@={f5bxS@QMD*j7KKkhnIDnj;ylU3ET2>F#FYJI;+hjT6sl zbWE7ku209{%wleVVlph1v4Sj0lfE0RJ`Ejmruv%+l_mg#8-qFarKJfX~YA z{|?}j+`Od=rW1`Mpb90Dg}~;b=%%0$?Lhg96q%$C0kK9v1XK_hNWe-FNkIifMYZN7 zI;@L;qKI6zw#nZqNg(j(z1#V5{qggYGMSR@F~RfDl%D;h{rN!X3lV6)_i_jh(kxIl zi1mI*jQdGKh8ORjAxcNp+Q&>!9M!}vJaFyEeGKUtp1j5uZ_wd0L5B88|MkT0mESrTzwSI z;Fc%*GF^bQSfPJ;Cw`mW2yJ&zVTx1%iP8We^FIV1gl~!PCZK9HB+4He&gf|?F6`9f zaMu>%wMRppQX>MOId_6+R{`l@on5%JG)aKNV6*(MLZi3iOTDe;<<=LRY-TO5=I$M6 zE%w66WzhpYWuUhTX^d02tyD9W|lWJYC zJKh(U^#fjj1Bec=jh73XBYrOtNc+rgFX0JX=j7az=i-{DE09BOOq-^zylm*)o)!%+ zY~_c?7G^$_3$BuMi-5JMGu=EO!ewv*3RPy7M9C=Pw*;gKi4+D!Ljm0Ie7`ADP;SvYqF;{EgdxZFF7)Gd)hj1lFf3jPQgy4+q%=GV^~FiVu{9%20H z5-p363|CD1%Q!#P7ayFKQ65W@f+8OiOY8u}BdP4H%~7~#YZUk0YV+~6e4m_P1(!9a z(gAD;A8wq=&6Zc<>UlWe;XbI~#o8xvYki#^szlIh1Hvo3vK`j7b?0-xqdAJ5yw zw{tqT=kE3MpvFl^%wuP0P!N8gHH2SbDQ9Kf;N;yo&65` zr+|0YHZ=FdsrekuGq+v!)gYs??aEUkP|PhQ!!Lsk?7P9WYU^Ua!9octnJHC^sjJ@2r0KN(dK^e^1w~m4>NRkus>)(JVf(W5_Duwr}yco)| zp#BF%fI`?B%07VIz)NQbeSUx!Rr_ANB_H4y+q`bnzFIoSJ%F4_fZjR;3?%p_&9Tg-fgmXMrvrHa+A0)%uOVaRfzZK#iZO--i6^BXoBK0K08J?Y zN>I7l!EY!4T;3^=bV3{CxiE!Nph^LU$k+Icfwg|0QDz^Q-E4|B2hq?#>1kof?o=l7flx)O#)HC0~X-w1-l0_ zq2M>J>cIy%D-@CgYcmv7;W&zYA_|USMk~YF5KmIXuVR7R!UV!)|7K02UrEKNI*riI zQy~`Akdif-q(!_3h8Yo}c@iI`LorGQi8;jYr?FE2j|PvOrUBD`X6_dzVM{7kkDIGN zfZ@jUuTPpro|6Rdqc~KS$q^QRflc%2Ar8&(c7VG3oc9|5c@2(ub z-~z$4gjitO3DEQj;$Q0If5ng*Nc3AmDGAgs;78KHe~^#t9}){9tn(j+j|=QLicnN# z2RT0acOhs(Rn!Neqrf)~ChX9>rM)De<0m?eHarBx*08Jn1PvH9*nRW|#u)1aR>Jxi z$9Ys7fXZg4jA#8XXDGE0MWlm8JaEa6t-eGy*b)}2M3cdQ{{lP^HlY5XpgtUQP?czq zDUS5PwL~~Z>IE!NfwB+S7KvRU9_39YKsvLXvB4Uy2?0{vkugaJbYWYl9Yu#R-A)_u zAIh=7Xz{?dx**p_dS?x-gi;7UxQY4MYygBeR08@awuFOqc3lA+t{4E3uQ&nqwI@Nj zlIO}2oUGwOkBLcCY;(6c9u#CJj8rK5wO>GvRy?r7NEjW?7g2qS*x@{mdxZ>8NrJ`c zG3A7*MG%GG$`;tX(Q(|K=FA~+4O~IvhmUF}{T~V@-RgKY_}{f(IR_a30*oGT9fU1| z+&}~qTf^JfRIrI!gt`S1*tjJpQi}{42{F!}Ey8JNW%@(@+%?$+21imxmA6|4LHVKKsB&v;omYtyET0#>HJD^*9ONVo(}5RDU1v0A;DTYgD8SMTx;&;cpMZ#TyruJi`I4EIMU+S{L03^SIFFqO$kz*jDIPyK?Ldx z!;4W#63vkCl6eUfeDAj?Vm8wcp^iL-l-cPz17oy9qvXRQOw<{2Xh`T*4AfG$KA6+d6G*1EuoOZ9iVl3tjX1ll zJn$$_$1MzOtp~a6CCsVEkEqEER*QGhHsBvCW={2O&LHc(VF-BP(He5%CIIilRoXKK z`Y-~e)z`sx$Xq^NoD8L#) z6DJMK^;A8#u|GLlsr$(UmOo0~D6!~}7EzsXGq(R=us>jc^xH$I3{Rr& zj+*jJ6@c6H`fR3VSR{kyAait z4~dcQd^|j+B2{?`N${(sz(Ur!)FE?r*I651+0In1v3iSm}4uYw~Q5r>d2_5 zxgB}lv5e+^n(y^3Vbr8~3TqJ5;q$EFumM34zCHRB~Q~HbK~9@`Q)6q6p(^ zOCma%fKCt=Vwt3$n(Lno;fXU032;PrpW|d3SZ_|Ki=Xl`@YqL0F-couWJ;^g&{&Q! z6sEw?0pAOQ3JKs2`F8+o9NXZsO<{1=>OZdiMrq zdR}`@)D;;A%Nh=@1Z3Z8^G2VwmWK*JD)@!V3p`Dgapt~<;s0E40vQVO&`%oO0fw70 z2o|}fu+W+hg5t;&Psj;Y@%7QtVB;GuE%a+QVWeZz*apFbF`5P=fL^NW3)%Fq(;srx zpy>cc`y2ZLB^iy0N#^=xbg%z{0lM!hf)g4h2^BX1#N+7J>S3<;9Y%5z?SL%}6(KM6 zn)nR%0gJVjSK;(A?P!~bV`@$D+>?NIvg7E=-=;IKZc7)IhE`QwSs7(Em!ViYdf;RZ zEc1+s>OKck;_0s2*g`wpNgX@835NKAnj|8sJOkCHNKI;u@s3B!3h4XJ6d#`>T$=U*(L z7&z=IF+$`zwYe>b%QhwgC)Y0oytZq|TMyr+#c;@4xxzOUNUHjuEd^i&B03UF6iyz9 z-PBI}WF-%3h`86DK*zn`UxhI7I`D({ZruhFrYZM~yYZv5TfoD95$=VD`j~jL=o2K& zNT@{AemXW1#=jB*H>}NIFgdA6-?%0G!R7HoORo%7+Yl>{tj&8WX;9dh84oMowPzei zoDmb4@%w0f<)cjBj-Gnws!h37%DKl9VH1A#1)3Ut-29V$uY?V+jQCtu#&19^W7bH> zk`DRxnWS>p%&d#xV!k#QwrVMAi2f4`;J&Me!RHwL+4M+0NvtWp(8}}53MIek8aMR(N7p7PJ(nJ zn5psbWEIOBxS&ZUr-7h9;z0x3)51A4xt0zawkK-PTmxraC#znAXp@zVEd%k)zY^?H z7%wj2Il!G-Xws73{;>kUNul~Hfwlq45)jimp8%P|BhUeou}nGS%>*3ps0f7SGmXv6 zaiRg*8r}(fin8nUFFEMzHt~O$@qCNK^4sWU%}S|q1mIjPrO3>HWH*2IU$5RuK&=k& zoNm#;YBmOFBu&d%%%LKQ33EDW3@em?74Gj5iSLFInI4}YVvWbb66E^qBn;B%&RAQI z+&8?VS?f!urPEF=2<1FrGQi6pA|{6p1p*#BNJtWdC`#_bQ5qD1Sh8^Da8uD#0=RW? zjd8c4po6{xd3|QEakbFQ5naomhDS@<0e0`V-i%ti;>AXN46*;%{qEKOKOno4S4n)QKw%S{H-&hH;2pPGF;6IzDnxW|nZ ztw$;H_eWG4f79UOidZp3(^~iY5ZoPShYgbYor`2r6aOq;!uO61{Fs?872obbgQ92& zkIVn@T+$W0-E9S1TUi184olPZ_kmy?3hE*VM;-zCr*tTMP%t=mpOlh5xaj_s*Ll&Njf}pzm^zzQQfC_}ovC)mqElQ_Fx1;zHI9#4ymzz}ttD ziE2l_1PJJb^$*+hz7KSn6+Rm}FyE-A=n%Lo+kFb5ofZuSBNE+Z?(v@>>E4wQM+tV> zcnZ{*h<}`TOsp0Nsdc^stuxHfEPu49W=qaY3j>Iemest^)A-qlJ@Amfd1wlRK>c17 zK!r-GfC55sY#w>>&CQVn;q}e_ z`Kw8x1_YA8gioGv04!jGB}JSp>eHNuAOgiS7t~-fL8d+HsO+G6Cn#6CzL}4@2bF(Y z;4^aoU`=sEbIRsKELhxe!!r|W8qnOx^^KUWE&Vef5-?n#GfZ>9_ITjDU}h>+zj{#M zEZDqx2EdHK<&6L&Z7z`dRv9DZWde2%{FCoJpiq(d9hfHdQA67bXigr=6k|w-=W}7; z%zwm&f)Jqj$Okem;Rz&qX_Ut zb2SW5@&(F7Knu=?3^nxP?1iusCL`fu4g&|Elm6irqLE|2ayDQ-nK#4iafPid^3j)g`OB4am%kG7nrA`il~SfGs}u zB@z@CcZa!BDAg6-D?hg*g1So{x6lX(EN6>~neQ)Efgg^4v~E$p|&?r;A=>0A60WkR3tMYvtivomI&~OkAVQ5f&gm7_N;w5;p#fP z7~~k2{Lp$lEq|@+%!ofk0Zg}Vk0<3Pxq`wjW&1yjmzB9cV0K4fy zsQ(~^dD{vC&>9k^oJxYrGYq}e5ThkZ0AYYbwFJ;Y3H4T20XzPD)f4z*VZ-p}KuZ%n ziwwBJDb?LD4-hV8vKciv8ns57PDT>Hy#6FJWyYRkS<%~Yc;y}`bbs;UHjX%3Q{?Pt zJX7;#LN&;`5BXYu(%aYh{^0oy?$2aws$+jIMt^#JB7;B2aO2|#&smFriZ(TtnE4=t zg}k1zT+%~KzXRjLAP*xT3I>cLeR@X%AuuT^I5!YP2U(DLGsN0P$cP@bOOYTV`eGCu zvfUR8hclt$$f=qdDY^;lZJ@$OQYX@--RsoZt)@$qQVtQbY~cov_(jjmfY zL>x*omtvVGf1ixHL`Ebs?DG|2nt?rz{vx0mJhghzvoDI05xX2VUIM$!rYKsAf3@$@ z0*Y9sLgZ)WqRWtiBCjB}tU5vNDiAW1jBuxym+uNHt!xK2lvrYIaf%eu&pXs!Yx-;V(aixwG(72#C+@mfABKq;d;Xq$IN+1-*w)PS3WA~MiC5j zCC!G$s5Kjn$EpV*ezn%IQow*K*Ue>Ow>z1%cuLR1`?Y^g{DAINV@2icSKYDkLzdgV zbh8}jA|2(&fzg?~qr9R2(Qh+FH%aSg0eS;-=>jk2V%c2N!UfpNAos!ZAsHep;0N`c z2&{NzAx>BSxn<3|+PMx{!-jfDj?q2lM@}Q?N(ZTf>7__RP2^fv=iGJf73%g>Oew_PF;F~d27%UutV^?`Z*ID6+QR1knjTSU zA=`=T>KRx!fVBv@2%i!MmFpZ!;&`(oRxaN!@6)o2Q2XeOLu>5p^CxJ01-^ZhA9qy; zk^N#S#qedkX?s) zEn>sRv_C_|rxV3V+G_T!xkki1@UyRzv8^jpJl!R^b2hZddaBdIURoB$y_M82%570( zNkfePZzo??@Jn=TG`PCrPw1+6xJXK(a5RFCPeDLLKI6p^LXCLvd+Y6J&FPQi7rtlV zb~ESd&T7xuO`&P38lH}CN1ao5(*pb9*7%K*DWBJh!IDCYH>JnO_tMpQ>iPB>bU2Rp^8}d zB>CWNoddlWwN#6R8a4l&ZnN#3#_pt9O&8`(&s7(Tr2Q#-kMls~rdiGq)!JTV208W$ zm*}!-k?i~5KN86W&ig~;cwFl7^^IL^M;j4!ccZr+Z>Zjwg*_tZ_|NbWIS*%t!yjZL z(x<*BPgHZdp*20@C}^rUO8IR%i!R8W zk^GV@ehx0$^Uv-^m69GYDYVDac6U#qo#$xqU;jA*K*WTxy0qxw#7!_ZU2|o{vbufGRL$O{pGBa7gll)-rYpxuu1E6#f0Bc z^3z@AT)D-FwDA$&_U20wXF+SxrC0gaYTD|DD(CvjGbBz5a=8zR8rh<{N_%^X^UqjQK9pl>6`F3|>CY zi-<_(t8y1<+Fq0C``xR1ot_$tAE{UX8}TCFj%CFA6Y z-4!6KZqn)O2~)ju7rD38mbn#WF53h>r(=~Apf69X+>2EsFUEGOe%`b|y8hhTJl9{` z%M3Tu`EJ+v=k2Q0i3=F+WS4@OeP{`C&mK4GHpldpuCaV(=K753cgOK(>1{W>-MjES zh@-WEDUkeQevX8`cB6>pS90Z^vnw^tD7&2~!GMGaV7d(h{^nz86f4eFpSN3V7*1sc zL{`gAE8X*uVWYA8;2RP+QKswKAw<9v6O3}cwug@di2)xV71+3lxM)J8`!)$>ipEkb ztf($G;gE(9393HCz(di=g9UM55bv+Eq^o{M`;`?&Zf-l-J*r-cFb39YS}%o(*rw$j zH*L;({VKBe!^s=e%x(&ZpXQ-+F119Qr2`HvR&FUEL>F#(X{FGcX`Dg{_$2nEwT^T$ zJa&041qZTzNAB6R&|Zz?JU1@e%09}=4_g(paH*mjr~fSN>V|DTn@C-Cj%263Vsl_M zu6Q$IL1Nx%*zMvJ5)y8Olce1>b~l&Rm@{X)1STqrodE{fRCn z>izeIQ4varW5apX1Q@>L8w{K9U1_R%(-DC+q)|`t;E!6_dw!}sMgu!j|CqJ+bwVz^ z0Xh^Kx9D*-*~>!b3ws*rYMV#V?|P_pMSp~TSgdUKfV;gV$KGTBm@VVWcr-R-bAtNL z`7*S$G!f-9wCq@$j(#i+ZlWv*HS5~aEHa^J=V5rR2vOP+T_vwsWCx{QWq9&2 zqThHZHzr#y9e6tSR5W=utSQHJy?w{JHdM>X!qWXUtFZPfDy1q_n;=A#w<$iQ$SGG= zv~Bfbdt2}SK1X-vvOO=IRbI`hLHqZ!b$Xlvj!iX_p18@xQWjXKM?#HHSBSfOyV2>D zBP!?ODB&IV9+at2{PUyfyaGNsOcA=H~L{$y3V`MlpVf`LD7rcOwAwWTnB5|ZQ zECl#-8zCU}yn7HS$TrI)QN7DJ*3Suu7!0fAGc*>B$`V~KP87)ZedvUSwL7-fA2tHV zhrsPWZR7WpPQ;p1cc}WwmXQ>-AHeSQl~idxYB9?5;I_L$WL^>O#8vnBN>Thl##mZp z7tzhc+ag%EAHD9Po?`ArE6&5}J)AJmZdu<+l|7LwI^DjZak5TP;pDw~)iKV!DB`-U z&Hu5bEgE2kI4=LhyHxz-*$UmMXZwrEIA4MU@LPB-Z9X{IO#@esK62x^n`7zX}9UP~MCw>)^b-bF}$`tY>vF)C+oT}>O z>hw2kLSv(w#&p`WbJL$$#A=lsWLkEw$32vuU9;SBx6j^pem9f(Ms3G*u4K@)YyPcy zm{~3rST|pAXnegb&HElAqoM*YZ`T>i$Egr>;_Pl+TIe%HCLS5Ki?CN0rp13uav?ta*mDzI~ z5Qc7U*>fGmUDGaR7SkNDIbU=9%tTI@9pQ%&^rn;;nWeRCX_Hiwt65h`E6n1Fl_ua_7gYXOLPdx21{s-Vs^Lr)<6wma&AwsV4({pWH zL=;Z5?i3v--b3Dt$hBoB7)0Myd;byHVQ+`<5l^1;Yd!2)p4Z-11NL=eyGJ~QP6E~*WTR) z#B%a=6gjxcDf6_u;y<-D`|qKtYb_?2k{%)vx)zNe>#SxJAC5al;aVnoRW(ay#)5kU zo8smom}+M&dz@a4vKv)Mvv$zg(%JeUqL@BV2$Xq;6z>7`QwMe?l1<=2L9Rbs?36pS z31_pFlCtRW5S%kc?W%#-^nz}exmss_wYWEqMW6q{ULbD~)+BdJwP|rw&og$uxEP61 zv9O@ZEk&2z`Zme1eD9oy3p0A2rnojGDW+h`&9s(KNxM4~OSDv8NYu>uYQS=8wy1 zxTIbP%WUsxWTvF6>N}7MiL2b)ch*b3NSc42u%NdQantfy_sl0dGk0-KzwyRjJ%!MtO6i4w^up%Plm8Ur7c5S!=6ZF8rGfa_t+H?tPW zhS!P^eT^t=+wB3M1Irx>M}lyx#wp-}2qy+weSYp7Lpca5PI=X_^>QBQ9F7S&At7kd zCMXOK4d>Hg)A2l#zO)>64#{1=ts9Ff?2iw-HBmzxp=|D~eQhj6?wlfSgu&@y|6qyU z=sFXdEUuy)AkP=(&glqMr_lX9r_w{e$oiY%G!2Q)({52DuBIERr1{H~8+f!ZGQUph zJJmm`<{JU!VdxPZ{YGq(x=syS!`kjV=Ye5bf*Jdme^!*i1NL?{-Huwq5mkBMT3%<& zA;gY!ggkrW@L`yC? zvmfo)nXINAF?^nVMW+jn5&2@-Rl&L)brRKVH&-9>GT6#tN$@R$hzTT$?#2TO=F<+U zzeh{fyY%WDEVK~{`l{^>gKj_!1ibUa{3#-6VJ-_R!9vB}L%)e1uWpxp?%n7tnX-Gm zFCk%^;@lK?pWWAjA(oRNsJ*rChJpY|6_3TJpZS;OIlEOF6WRPM66`PHDB0wy>vK1c z3^$5@btLLOGb7@X5(VSdRTI%lDUAgo7X$SBnK|j(>6pGH;BZiF12XVvHHrS(Wp51} zPsvK3tN51G6nyJpR_Ynvr&=pXK`GolOQ+{|%)d*2Z*6PRmTL5>+goqTJ06DfHCYxw z(8JeWcslI09SOCIm12bEyWQREX23m*MBzYCPyC!nKrksR+Z06)J>k`@0}LO z9y+t>UVe*VOA5=hT;L&1Jswr!<`tkpV&Op%EXyzoE$(BJ>dWp5Ebu;<)De;PwkytQ zLve?|C!rv49)y>XQ=f0p8V3yOIJyf-H=cq)$p(?Jwp&8?h7q-lqO2EEr=?^T5xDKd z#$)oO5%fPVs3X0<*qcwt-3@j0e}r~^-%y9UE|q?()!#a;?{3={|9!~SZB2+0G_ zABA109Njsl_`KS17HL2|2ND0or(btg@o0BfUf>|JY{|q}_QDRctK89A=||1|;GGKg z4Y_ft-CK*X#a}PKyWOTHQU}BRpiJ;%{Q2RLnw9p3A-CF+A?vt*5um$j-#8XkP`d^irl>?#c>u1iJphn2n$r zze&=qiR=Yo2IyLCQ-_c4fDQ~|`@fg{S)1ab!M#_>lD7`xp54n&xT*Y3nLYWJo6xqjQLA-eFBGUv3LCdfqb3v{GCQ4Yi|}3# zb=y;z<1i;wzS6OQY#D0)^eC5ZEp!){4GqqZz~V9O*?a0p6#*3VdcXy)CYGDho)Y0s?|+A}9@C#6OyOH9nfpSs6@AUxVPGMYbtpDaX+xa&K^&Xs|Z8`e_mSA>z4mzI9w)> zVtCP;X5`vCuI;hq=qhX{&I@ni#6`NigqqKGRLt)zb*JE;u-PyDl)?WwsoiTX5fxco z9lH@Ir}BJ!>)hOtw%$qcahlPsaZtIQ6~}tvTeefGz76S=Z2F8lPm~3tv`R+Hi_1X4 z+X>9Pi9JW(^!a)2eaP9MK0LzIyPRLNjm!uSQ0rMtHQOj7wv%X~)NrZF{3&rTTUdA; zExPcGRBO`FeDv6gxiCT}lFrVJm>{k$N&b|2wL|U4vTdRlTERC{@8!6y13G$G&i;-y zh{MUvnkj2+$0EdcCs{D%BVWY@Cn1_mUhjcBvmlU|L2WlVS@{u3zN>$0Dmjh^dGbv2 z(5GYksoowCjXjjZ5_zMKdl2(hhpfOp2%O5}o-c)^N&M6egc^a5##2yc@ervqK_W`Y zdUql%J=3gYR&%s`^BO;ww};mYd@KACG5m-79Fa%`Cz-TJ_p=uj)39zo2Cr6XKtliI zV0v}n&`2-KT}Vv&C~>#mu=BP7BzcX_JPm z?FK%!jER}&p~pyG{<07o*-^TxWi!W#oZtzxvxj?u$(e^uT~0kddbOTXPeZ5=O=qka z3%j>jYTt%(4P!CF;Q^vxi;#)SX1!S!eU8+gp!?%@FC{ZPdF5%SdwwrZt<+gU%a+dL zp*h<>9h)k%L)nBa%igijEMD9Y(8R>*9+LI|RlLpnYcWC0*z?|dHFa7c6=7-5Uex!cSHyJ(-SbN07YCjagc8C&1rj7JhqniRGy&Jne)ti@{ zdvWqt9G;4%v`@DAad}}!Lez87Bnx+NHM=W2+2*cpQ`57nJ<9I8*zm}lTt@g8v>#Kq zlfE{y{rN0{R!~jI_<&WO(sx3Ne+~0~`L1jPq*=luvcU1W26LbDI=?fhhc?apZi2nM zhjw*k*mDJS+);3HtoVi~_O`ZF@4mrjr1dpt!Kt&gM{*I3w5Q{cO1+Lo(MM{dV@}OEeR{H< z-;I;+^kPgvzM>ip)B~`sE|m($omuuyUsd{5TC~d(>^D{E3-Xpeo7|}Bp*eeh7nu=l zLcQr&Fb{D3UPe5!pVYKZD6$os?df$nx?CiLWMuL8i1U`unDf?yTj`;Ye1lnpTdt?N zVKQUxZh@gvGgEs+{qX?zLH;Drw#zR6$4HE5Mr?L82Y2m*&P`=f%c2%FIq&<@2KwPK zHIE0{wC?+)?`#+Jms7D*BE7oSX3{ov(huURMQoR1M8+)4g|t>Vb0-`6kyzS~$gopS0!iSRuf(MvkZ3)wpBmU3Hla;Ae^YvHgrBvC1 z+sf-nxAe`&PR=qIxNwm4&ATSQmyd<8i0@9EN51q;t}`07!VQ~ItV<5QYP|yIwfkF1 zj1oV+PM5E)??g&lrOt6KnKx^<%9@{Ll;cP) zs1vFE$_0ICT^glA!|XeNh4%P-w0g1C&s{(R2}xL2A=RNrwP@!b!Nby>Uq(M2tS4N=U_|2EeZ|cDvEK zP5@aqB|9=k-0<@6Fbx;);+B7IWXahoA_Hq6>t8@`Ck4^%QnrUKhee{yMd zk?-($jW84b>NXzX$Epdxpxi!_s5xEl z)4box?qgyiT*c$iJxMMuzqX*RJY;bF>&~l=laMYM+G2WUhSTM5tWf_HB)09v7c@7O^N=0r-X~pOCSU;LRhd0`w{;kAk z$?&VX=qWD$iH)VacA^7GIB z+j(cAyG0}@8&UK+ndFWT8j2V#ibkoSK`WKT>UG`Y>Adr?#JjsK1<$jdbu52@(51sU z79im+9U3qfkMWQ*VLr;3M~rF1-u>N#aJ|6>@6(FFuDhk-NqS`&N_K0}oafllHol~% zZ4R8I@W?L!_ZID!e2XztKI;$evp{y62y5AHvr(zPRk>M|)J&RD4Ydt5pt^{+m{8@`0Z8`Ux2Os7M*_mxl`U2-D&R%HQ;>8K$zk267KDo4!aqHEq?qvC% z$MN@6R3KmY|0UnLf62F|Hy_78zv?;yzyFPVv$y`gA>X|JqpsUHqwAJH6j4MB$|EAR zKFg!%E<-7YA__GQ5XhhuFbpdDHFAVQ0ih}X(-*EIeBS8{420#z>+D&VHK4@n{^>sD zf9ZA$TxWYoemkjbL=G}S7n(o-DfhpL!$)XBPw?f**Yj)WQ){(Lrc*BWSh1$(xv$bN zh6<8DxaSz>p^6eIY*@zuq(mgW3${iIlD&tGA*knYPO2&_G$9;BJOLLZHZU>2a!Pe@ z?1CpCWwuer4#eq?34Qz@*6yi06D45NaQw!$ZFih>Y;Daby+qP}nwry*Ae{(Wx z)*Q}%sH3X7pG#ewgCn-rg~z)hMwdq7EjV}imlCZPelrlr!F{Hm)6jQQHX6m}0yDI~ z0U_1)6?I^6o^NJ~W30Bf5IP<&Dfq>!80aPd`Fae5MGMUo-JuJa~2HJ|aGJpuKE3!ts(WRDj~NqhBoZm$;SCsgwk0K5&4C*e8%2e5D+S=7 zLAxpy!%<16jvCF1=H`q4!5)7WceKmnn#;_jvWAbQ+&?$jj!TWD)2o$x3xHJeor>^8 z@9*@i^T`;$nZA)PY{@+@-SSry^_H6345`RpF~hhsWUFpQ)1fIF>rgl^eKO%TP1HGx zxe9P8sO$XwhhXoEra$AQ$GJxxMN>5tKV+IRs&HOB&Rb;9ne$D_=nM^`1t zwXPk`_bDsgn_I+668gs4r_FeRvscF-zG~F{rQGk4$02NlK_ag02|{g&JKHa)5wfj4 zh6oSrshJBp{7h3WuVJ|cM7yb853z38ebB~!)N%OLFvl+ZWenT$bC3kQugYThtAK3vz-4m- zA8CPhU~lm_0O$Xab?m+u#<^EGt?=MqA;6!Y zk3hJ+4p6%*a{qlO&jPYi1&+jQ2u)qZG$jl28tpC`X#H%6?C+#3H|O3(P$0K zGnDIvaq5G+2>{iwoVA8rSKswO-K_w5trFPKn>8hGT?RDT_dX%`-T+!nK(X~9dg;3e zfnN&*St!8`1St7QeTjS3f!+jRLlNwV$j#6Mh;~Dp3<<;tLP4$7c1MGe2?=HgA$)Lw z4&mAZ`2~Rn0|klj4*~9WeGW*AXh7}F;II&QZ_K$svsmDvV7sFM#K7#B^J<^bpm2cR zZcN7DGv}B>;RB`cZ=@xIoj_*53(CdkQj!b4T;Zaq=*t0BaoY_ z9m#3=N8Z<-45Rp{2go~`Xg$@y5FMP1>dsXDsqi)NhYXl-Ry1A3*6w&Z$~L%miEPG-2NX-E<`hjWh@Q3pi6mGkGE2y(^&`}m2tl=o{Y$)(L^bcR zs&@jY){v$)Ge~6_GdE*1J`|L*L`1Gjg+KD&M5K(f^&;Mp73h7+UKUBgo+^(B>Gi0D zn4@+FVsQ;!yCaCrpsyo@k;F8ffWNUo#vMgFZpB8~ztD|(Wkv%i^bgK~G{Ordr>lbFC! zbuSzf^b&^-G~xMDbR5HVu1pJfJfb;7yT6o&8V2oF+!8|4!0x=fFU}7?OJY3t9xSsx zi3K8z&WKq;i7g)@XkQrqnDua21qiAriK75|ICT+}xG^~OARruF{wc(LS;|!u9OM)V z^tnM|wxukVIq!R2@o;Hq3$b#*sbu}6UM^2}s&GlYNFyrpDK{irsb*i{yo4i*eCp&F z5OG2K0J)t)@cw}(mM1m^-ci{80g%5dEZ8!T>h)`qRU~E9K(WE6!6sA~tsRh*6EZxT zNh07j-^dj*IAIoGA$ed2l(8zl;7XY@XjF>{gdih*1S4TdO(pcl7q%qGAK!^44VMj& zfS4jSr8f&46j|`=5Cx%dF+6J;Y}W~yx)=dVp$aGpi3J{GhzvD-v?c*E0SnWHlnIT5 zff$NowRiN^@s&@IE_gr+6nW%qh%#5B2|*9NIG>h{f81zxFl<*ER6**%h!IT8GWR*aFQ&E3_uA`v`CSoS*XKCg?re2V&EVU+*p$pjB$fQ*~Jg)ju6#*WvR@z8WaM7 z7XhilR)#42Tfcn46tPG>n0a`^DGH0^)M10hCE)U_(7bFTD=-#wrYZGBvI6eNcx-l4v~CJ!zrnLW#qRe zxb2W92-3#X)99Hn0EbgSM#oKe;a2&H!Lw+pvpFmlCJ0)T(K!$*J9rdudVtJvqhA67 z9ttLPmb>R8sT4h<_N0kxrm(c4ZHgXA1L@`kEb+h_qd=}f?z$3}Epw`{h?Z7vsbw*L zgujv|oiymbC*EoStX}yCaP#^$48JrCU-cAXJp&`4A7ZWA)(>E#LWj^XXtE14H$%e` zDK88yw-1} z$%9|M8ha*W$=vYz+D(uy*w7)68opqwji~q`QFQ_9qp7`}h;mkmBD(~e3B+ZeEX-Q3 zJ7m!G6lg^O@}V1{pa-hrk6b?<_jU^yl$ArM8XJywR_4fkmwcBhYw#*Cq@~W=_B4!-R=aa-$}maNlQq&$WRL!QWx?xUd{$!>g2|uXThE_^xRuZ_`7y?~Bue zjq~ayd_!e+w&E;Zk~B^hC6lw^v+G^A6d!X$noC53xb0xu!g6p$!1V#3U(o^j9BjWF z?Hzy00G2YWBv`bGBw)~-$Q4jVWC9ob>#6({V-8|NhWeaXD(7`rPD`YLuoMT)l*YqZ zs3Z}SK%p|D>ZtByH0Vq_ek4HMC=29iHu97(wpKcxyyKEa;YQv5uqFF}xZliz0+zwP z0>;dPxzdt@W^3FuW@EH_JB5KW1qM8ne+JHKas_b5%`ziBy#>F2UxJ;;1RvZ&*?rCE zlh z-4xKEsUG(7{Vl@QtdnMHE)H74 zl1WMJh^%9w5+UyCtIaQiB5sN)wF->Q#dZ#hoecP-bpuEaq|jvQl4BG>$+hc}!yQ5M z-z~`Banayz6slK&0+i8X(nUcvAk;vey5%&$echqWz;N*eOBp#7f`j-$%d!K*^Wc#ct>fum3a@;H zAe3!Gz}f@SLt3aC7S{r#3!43hdylo_I*dYnoxg9^!7e2nW5Y!pDX>CCj|Yu2{R6iFg)XgGdy;1ZK!1=A;2m_rhblO9%YCt@$3jN} z{$$pK$`~`5tq#2EGagYCZ-;HzQAqsGMU!{2ouQa%;HDn2!laQ1o;Vsk@N1dsq>(W3*S7E>Rfr6$0cXkjTKW*il$tg31$ zA=ZT>8CI0)U2AMWRk4x&%@^MTHoC}Jm8@J$`3WSD3)FPp_nSWihC!Xfm6oqdlRjUAyw zc;v_Y3D=g@Gt0qIp&0_haBlR)VQ`}IN06x;glfT!$+=MDZ&rd)GpZ6&30?hi!N(%v z#Djg;u)7JF;R10)3K+&q?l4^wEw1uQQ#fepYp^m+KR$xl}i2Zxid$}qX86`KP( ze|2gh#l&UKL-~v2Cq>tnb~Z-Ke8ZBj0~<323?JNbN`Tn21TYjblYj|w1q5`wF|J90 z)jJktNxK$^9aB9QE~HKR;6M$25geShqU1~(BQqLi^hmrWo=6LY4=b{Op7^9Sd>_w- za1%!T-mjbcjYlwfo{XB!%Oh>j$+9V|=&%}gjuz7#iCrb=ufJ7kkgL#|e5Bu;8(4vf zioYk)=S}Qy-ugZ?!z9+S?b#K~OWM>4dBzUdpOS; za8cE=XJb*+D4oK&r?NO(EO^3thlwsT4TN_$sOfl3`}ui)l7BT@t zdw^oamdEDBtNVaB=wOMnBaPMa&uL(e0VZ#N^OQ40zL-TG*Aa_^1xlcwdx#ivI3 z-(g-U1}qj8m=p+JE1_b45)LNvVvv6uz8J-zU!)x2C~)wo7+XBol`Od%QyQt($tx+L zc4A8O{8+1&OuuH8Rq3Y-YnEs1?Q}Ld5OKG(31d=U@;Y(&K6Q|n_amV7kvri1ex#$f=uRkU#|3wDjf`cF@#m3rP1r zlb@M(jO!S~iUnFyU^Lqmk`(iFBILh11R^tG@skMf2NRvilDBe1HS-NX4!3OH-F6+} z`bq&s_5*erh_^`p9FoHd|4FS4!WnY$f4G%V6wVF+uDOr;WrW3M>4AW!cQF3Erk6t$ z3lFT@X!#>UgAa`fjuq(-JN;+((sxJxws}e~ThH@T!PC-{ME+uwD>?#}lJT}mN$Il% zWVM)x>ra&QY6nGDSon~b86>{pb!O|-BZ4Ey( z#^|9J>5dF!+Rd`nRoma$(Qf-(%jmKmG9SNw+VK?X7h)?zBK-XwCYDBZBu6 zr>&Ob(WYiFDMU*Bf*5vRXJAaGCNVY(9H^BcQ{aEiT>&>tf^HdbN{Jbu3=D(CAvP{g z{Wn-r9tl;bkjA+{zZ6aAsKhs2vsYj75lQ^lw4nm3mFmk4@eFH9{l8 z&;1Ja5TsuloL>TiG-Z&~H@^K0gQQ_E6V!_R?tV?YxJS{CP zOYJVLOsX#=hci7HE<8&xN_0#X)VSWS(Ebo*B4emZfFt;_LVPb{qw>>QP&S2NhNOGF zNePWreYeuy*6a5h|M@IM)$Ai9Il%uF;a&xlUTwZ_aE zIF5xC#Vi)5RC^2VN#)46YxS*3Jicw% zmy^F;x1aIfMg8s`Rf<9Q$YD;W708j1{Qlvf;a~Qi3Sc1B9a(r$Bcu(eLu^q4^#{dF zwI$A4XXRi!f0&|HY4;N#QIlcY2@953eBH{+%Li)5#f>~Mi zwVIdOuC)Fwxv{>Xc$LSH)o6h4ey;uTEg>?|gyF5p6n1uhIB))0jKVpdvb43tuQ2K9 z3>l7k@phjOOg<$CcI`KM9YvO9BGpKH z8y$*Tbth6jLQ{ERsN!8Adj)cjgm|s?%}=ObMG7n>CJ;QTu9j7#B^G+=q@?gQdLJj% z(PYA*FVAqR*SS{=hh)(n?X@&+M|)eX?uaiQNbhua^EKDJYS=h6T-#FC7~iLg2KZ{e zC4j%{J2;*g+rWPxikCcjKegJvkyju$6qmY5k>^Bm`t0v(Ce+H5z{xdL?IhNZ*4Sj5 z8DM+Fsia0U>X@)Ii-UKjHnTch5&6+%?jDjEBCw10q>M_qhFYqK(* zjj<;kb!E+enn-rZt4`un!3ly;HitH`)T=fA`GbgHtgz;2z}U||p6e*-Qi!vxy(BlX z4Gb(Wzdkn>x4*kN3@7+U6_!8hFDCq0hhshqeM?ftJxj3DhL?+3Y z__E$&e(bl2kDPG|o?K(eM<1WaB%gS5b&!?(+`2O9xdszjF z9s!s#3*iD!=Cd}QDIr5=^CqrR$nsTQ}J@s5ESr;Sgy=0%4w^M%f z7h-lL^d6)qAL}efCxhPM-qQO_VQ+m?i^}Ydzg@ZO#t>vY8^DnhTrNUa9-2Ecg;}UtCjS&IeYxvw6);jNv_AjwC4D}9J4uUrI4-r1l zj15g~oG89PuNjZnd~V&Lddm5Shu7h(VqFB0V@75Bik2#!S4QTO1Jx%(;AutJDBi8L z1*Nn{SGTVhv~Jyn?aMTbL+xk5r`$M`HKAq6fvk#%<)k}!pR%&t=WfjgZ`IyeLz;9L zmzg$08?MGPh2*`}rHK=-t=t;CpI5vYT2uG0&~fmB$>*tB%gAh2-yMs>8oh(Xyd8Vd zp=-$RZ9~JMPRx=yxZ7g^>8A0qZx4`aunJC=(mOn|8$l@=t%Zwu64eSii&>YQuy&s~ zOKXK|W2eem+CqNQmAn=5I zQrjFZ!!kWs%P-_JHW%cjX&M+Fnw@_io$l&?eNF&Zp;X>P#q_AMp2Z#uEU;YDS#k|* zdmY7kyTy)PpY0C`IXTOM>+|CU`l-${=89Zp?}wW1l3zV+fNkdeHK)gCv>4OG;o5BI zV4f9~l%-uD=UG&utk~p83LD0n-uoYyE^aVa9-MMaic);<783;NcpC{Lwt-9TG7A@x zeX>jORucf$@%4dx`Ol?WBAdi}u>sIGrzeVDtLrY@)>i8!x~(QVxI_ujKI-Vuc5v87 z01-KPReQ7Am&wcN*xU?hro@OqZ2He1vIZ7<0iMin4902<#8kDJ&?^fPDN zbh%fQQ=H-icUnxP{`*Tr>Da|pB!@8yE0%Zv$6)5S!_SwP6^W|Nuc^m;qfB)-pW8+< zGNmGIFGpw3uUdNw&+47fQGy&LiD&*AT2-Kz5@;^b(z#^%80=-yam1YD~kd%lJjQBg0 zfrzm6n?{|94W58%d1o@zukz`^bR}B(*{S=Z(Ozo!${}CA?-ssZPY|~vLjSD|6b0jw zOqYo=YeI4pr@)ab&J_nNJqU-EgFn;%>a zN#u2KGK2S{tIqjS<$#Qv&C;a_C7-sD@m$QuQA|w?Gt4L#!6HuU(lAlb!$PC0)Jt+} zm1J`jPSFRg-DU0d#7S&0Yw1hkAbnM*SJzdqz#Z1C54OENF>Rn`+b2x}=U?fuKwcO_VyrlKNz zRENh*>>W{^_aUdduLv3@Fd-ZLY<6wK-W|5OB_Ro15Q&2wfRIW9O?j^V2ajh5&p|U-@a;t1${p ziuBc)@%tHhh_BhI2pkWRR+q7;8E27!QTeTfKiJi8!QzWUp~9^4_|T3RI{iX^_8)?T z+%F7vLxdSA*oV3QGQH(=Uy%Obir@Q(gsCQ_tz{JSs$zM*L2^?2wG^d6#vDC(T3Eiu7nEYn=#TI!4Ef zJsvI?YUFY3uAw+svhmL@jwfpT-SHLIW|^;aDblpYQn`)7Ry1Le`zzls}Q-F>+o{ zCS(%*S3;s_tX(z2QLdLN`7et+rR%OWH>5pcAr@}?fX)&07le0=#V#%bWCxG+&f{Ie z!b;EYujAIGjqdHO>_uA+K9Btf3kFdhcx)vTv$k$adwZ3I%fZROEa!!qkxFb2#)0|! zDHxTiBajU6Z2G*A3)9zWu5!-$>v1ju?!I}1%b2vnIkw=tgOqAa>~qGi<>yWOmvBLi zWUHEI1{3<8$6bwUEs;x4V1tu|KmEEEx0j9dXJtUA#f9@jN-#gVImko=qZL+KSBQyW zXb3aQ+F|vxrn>A)vG1nFBUBhurkuoe^Scn?$fS)Nt**jBi$fAky8Y;+exQ7Ukb1BV^GJ|!6O2s@)niZv3ag0Lmk^qyZKQMCM?w!ME3@;86b_=6yK-@?VL>GQK5Rj#elE&i4% zsH0)YI!SHih*(ua9)Q>3xmI9K7lPjT(9-?lbQ^?SqI&tQiPHk-X}5RHy=4WS{5BEb z^t*BA?_~RO%kp;Xo>SIUTWkI}A$ygfhFG-K+Is85u~osQymx{26$R`itCQG7Z_JD3 zrbOfs_sFEAzQg!4UB!+2HlbdeGv&z%smT zt{H_%ihH=(!KgQj;Gsts4GF}b3_nwiUt8Li{v4OG7^!8znXZiD(~9q4HW73b&)p%q zNuXIcXsicW=nhjMsMfDjkPUu-a~jk)r9z$n4jrt|L53w+llrIBExq~cU1TKeUn)$# zjV7uorp*VvLO|HgxtGYyiG)^(hPu(@LW8$9vt!*htlx=kX8P|{$?}To@L^iDAl#Ar zI_7Z@KM!ry!*X@E(w`+6fBwR;#&G+$AU;CJ`ugl9_!Z_L0#$iTi!lSIQv{4Lj3Y~b zY#~cm)94bt&2uDiKh4nrRg5v0F8alN($$7@^LVyoXggS0%^Qs01zn($qdfMg-d_5_ zbC9anad8a4qj8zqiD0w+=y*oZ)nWIbGE;>z%!F`D9IZmoB_p+6P=bQ%=5t*t8mxP=3KM0ra%}9fBWAV<^Am6tav#)r%%2d z$+iRU;!`Decll6@lgmZpEcL|a6LRb+@+aNHUcRw)V2FF<1B*w9SjLho5KoNkEvRnY zpZeJtzns>sM`EGJXCkN0biVKqz(iDSELC{C4bu0pTDsIz)c%!mbdobkkLB>A zj5uMquxXJIzJD_u_{>JXGtN?j?9=GwO=rHMDm&o-x~~YqAmN(LdnJ`WFyLOHxg>$1 z@+BuGEz9ds{5Aqz6oEpA(R|s{&eaX{&9T=Ju=_Imd;~ml6JKY zId%cAIZ~;ODs@c$cGO3QBm@S-6aSu^AbWNxSa0aKSaKcJQs#}QhW%)L5hrp0moqow z`6f5|wRr+CR?C^xbbyEZ`>j@9WPIhgDu@=BdeVfQ2Q3|!DhrsYU+;`%%>lx%tHr2y zPlX&g0qZZV4@YKXH?qt~sV5p8&FM)jY79^&0ynMcxw3DZjlrlP3l@Kl zohq7#jP0KFFO};&C2~ukMX(INeL6FZ#k6!zO9Zh$LKq4?licgh1t!1e#GZM%l^hNA zo>CYT+r9yqvbskpUm{YP$^V!fwoj7_wy&>qYaE|Tt)+M~6a(8K%QELEnXtV>#pW4? z9ENacp3bAGVZ^-ffl3>a%9&EK_bAQvON-qW{mnn_3w8&f5DPPR3~JKR&01ckji#P$ zA=8sV+1xO?BQmKczyLna#T2FO*5R!_#t+4w-8>b|6H{@XjF_bB%df7+>Wbw!)+GWw zy^yPPqos>+)l1%PyCAql>L^L(Q1&Q|%NPn%|6WRJog|XhJ0ny%_jhfDp{fTk18gc|)lBfXBb9 zfi)@j8mx31%!Ft9if6a+cGf#BBAK#$VT0LFaoBUTer1(lD&&BO-L*9~DRc-xZvi!# zTH8T<5Ey<@FJNz9x=Ft>Vxs~NBDSt~1O`hC+1b(V~) zZFkPHdMQ0Y*^)$8>4v&r4ce-fuy*JbPl2P(#}M_#&_tR8w8G3@`LC z-lvq*ILm-0HoJf(445N7)Fiq8srGVGVsff-K!?_rN22yWGCrCj$lCe6scrsUV9WGN z%GBU-qmbjRa9IRxnAJSDy%+Wf1J%b-;XJ>sF_RvPAf9o-1qs^K0*=piiMJw*Wb;O? ze{#}ubm@Oky^v2w#NIa!W40UCmL|$-mu+1X*{9fL!rGUFSDoL8>U@tavx!JtgozVv<9|CS%}_;)}E%O%Iq;^ z4KZB0PcmKaEZ(|?Q_zaxM}D;rrr0H~o7q-(Z@yo??-ToIkH8TYs`J%e_U?>7v;=-j zEh>Nrf+#fEj_z^(kL83y8m#u)!D?2Kvz>jjkn{efoMUDeuRHFplXb=_oFfLhWc)A~ zTut7<&i5qOu{L1qHDHv(HftNgIQ+oLX7j%Y!Kx2YA`{szFmg~VROO+Ch0PLjHS?Pz z)5Wx&C%^3CeQvly5?8S*DM>ZbbAyTdMnm^=_ko6($8N|<^}c&AfklSm#lUpQ^LEF~ zX^A+8mNi09;urFIQZm26Tt3KBb+0JqldozSGMWv>gwa(;_TyD1-^ZnfVY!PZO1n|6 z*s{{r6imIX_{H~)0Xx4jbg*$fHFg&~ZU5NB+?HclUaeXuZB~C}fNP)AlWnq{FZ`^5 zEo62~T{hKpPhq0EIW;_&dz_oFvPb9q8s+Yl^=|E#e9;T*OOI*D(Z=@fX*2Hi-Cz=d zp)D3Fi)OdB7mK1L)ZSqoviH+g-10NeL7-8FLtXcVc*;>X*j!RHaa%5o>uy7H%a_-G zPw93?#Te>7&G-By^IF0c`qDhUkZo8lT)}W^(7YuryqpGmdF$k!Y3G`pxh|@kuscsx zg-Iq&I=(4^<47-3UOO>xbLm;MvW|hz&hm7!aL&0Yc~hE^2^F>ivGp`Oyg*K0Ypn@L z{I*yjD~v`E&_dij!_CafWE?pm?Q$Bl{xNC!q>*i^i}~Xuy0Ug%cw7_wcEcxYd{_iU z{8UrD;7|IiyE8SBxt~0*x;f6B)N5vz^rCe|6bV$B(yPn;MPvOWvv}`QLdj?neo*yh z>UHxhj#s-HaO1R8dfVM$^uWrC{ENSSSoWm9;RSfj6hR}hh2Z!0&(*0f?#Ed%$lv?? zz{^p*laxp;&)3uU*9aw{=A$~D9Q*p`of7XSKAzebk@|lg&Dy0E$!SABvdf^)#OcKy zmuPF7NwZ7sNoj<8#bPkItXGbsxLevyqAG@{ry+YaN0Z@zW?d5c(Nh&-lSqdHYi71l zx}}eXt@EfM_fC0zGWTP8)2)8|ar|V1ZUsWtV-&%P7g{CuI)mDES-P(<_ID%o%_8fU zSowX0k8qC8ZK0#3!MI3FXOP{>Ocf*V`wiD`ktJFO>FMTY_#dkO%Dr4{hT#f3%hcTJ zF`Y;w1~bK2Qxg0@|IB;EzxpKpg-flnYJqroGWpPH{yUT-1M7(gNIja-73@dR^X44S zdT+ItP~-SP7Lt=3XfrE0ZnB)VI!*cqFEdP)+2TWS?S%YZrX)?`* z%e9+|9Y;^f5>krjC$(nUm3qz9%amwMv1 zKl6@uQP)$y-3{tBrQOd0W&SoinK;$tCp-P_+7Gtw4Xni3 z_%N5Vu|oKDwAfh|a?Mv!8ko*>zSQ^+e=7c zjC-TR_y%^B3N55f4Y%Yyvx7^I1tJ~Pk(l7s^I0*_*X%fa7>;p(@go1tI`y6r2SRe zvhVid)bIN(U>z$ECVYlVEN|a8aTi1ObCZNpbgZFgc3$rVJT5BtK0Tf-gvWYn`m>uX z;PR2hS$j7=wts0Z?!3HC<>S!#x1)q#0tgJJFC3Du)uCuJ&BHObuqP zw>NP~N}TN8f}^DMtNZrS((ECE-ltV*$Bog*XtBKi+-+YIwCnFfca`tSbh0!mzQsFR znr^1&!r-)ZR{B%%udN%Y_AZxJF4E7#2Z!XQON)?}*V9ai+;9_?9$HIC_Z~5WHa(LZ zLp!A65bPDTY&MUcET|E3?GDuZo)6E(;X>a_yqW1BAE&&F+;fC2C6jmWl?R(#@kA&7 ztI{xw$M_x>Q6G(VswYdKJmiIQc`(nQ|Iy9RC&CIzI)w912BSmtu15F9KBhGf0{$1&3>h?$ZbzcU% z@q=M>d#U4?dFV&`oJJMx&th%zoWqH7SBn^&pnOXyr#Y)sxyE9^+|>n4jTcmF%S9O6 zjOpaLcZ*quoY;D6ZuqqWPxlL*0y}z$z1XB$U70jrzS+)v5nPkDm3u{&jz`B!+QoF< zuj200t(&iF&m_^8B=Cg%mz`BOqZgn5gRkrS7x8gDFNdZ5$JcrNKO;WJ|349*7eEbV zZT(jIlu$%YKo~NYg-BXZOx`_-SR0j<6jWG&5gb^AklJ|&1YI~hNLgOMvLc`OS*I2Q z3>=5rx%S(X94gSD?PcTZ+N;}VWXi~7+U>$^gVUiOV)#&y84+yEf9B-|u@M0ouX?s7 zhW1we*J=&Kl>(PdD+0dPHX~159|^ewCzKX-g!q3UA1@O;nLW5Aae&MtEIdj5zmTu6 zyqrfkl4KCZUvz+ZHuwY{h18XRA4~{M4cwn{S5*GdQV@~@sm~PIyTVTwMc7kF?u1>5 z)}7aq7wphJE9zg!cky}s+K(XO%MOdYR~4J|7ZX^3%bJ+z<1?7v9d{6ZS;Voot7h?c zSWNMKA3Gk>gb32z7Tgdia>_`NfWbCUOf1jqs`J$e^f!r}Jb4KDF{@PMM4K4j%e7^D zaA>!e9U|u_8<77w5FMG_2U#!J5=bP9eBiU{NJY#_h~G zmset=(rYUnr-5Wr(zYne!?WrU6gUcmLfZYvzQf15au1Euf~JZ2u2uco-Q%9DPqqzb zYDZkVw}&U~?o)r7YKUI%gu<Wdv&YJqHLq+>w)3Q2xJ=uZgtYl?6U!EVO}C zG+zrpV8FSKjA)flDnG<`48v9)gN=IEp-fuJAe1nAEEhc2d@qwU@e285m%piCZ7m_o z(o%kKZmgAp2{>a$FE1XTPf37-F-95K>Spj`wdQV9_ssP~_7S7bz`3wPgOK%MYjxVPdPYe)*u<-=nv`w6`~-4_-h8oyahC zBeP!>F9+W{bRX@GIgoexJirZ>f{5lA+m7w=cO20OHqx8s^Z;^Q&sG;ykG9u^+P1f4 zcS9BJ6`}VF&^isU((Q9%JmrJlWtRuo0?nZL>dFJdLiIX9H)?}2p5<<#&w7GpKLAZS z@h1SAy#l9-{LLrYgyt>Ey`kX0VCz+cU3UriruYXys^Ns*@e*yh4&a&Y? zrh!(o0#)JKe&OwYz*n#NiiVPd5m_S=eEt{mA^jKf4Fde2!A)gDf$wsSLZLJkatUpR z*XstBLHB)e&^a3N!eRkt1_A$teDLjH0wDiFK7S(mLvVMpfD>~$U7*udG)6?n!!SQj zep6J!{eWK>(11-nal>0~cyux%Sy;>gX#gsthIcOLFd=m631}?K=Q_&c9>~9t&tDA; z`!vg+L^7Zj^W;mFkXUF0h}uIo)0q0y*GZ-i4HJ5rC$l#u(F{y9^c0GIpT7l+KQ1B$ z2%3dRflSmeuvF2dUp^NG!x4!I9h8gH!%qr0IyItU0C=aMFAbVBQTzZr+wKnC=5w;& zqZrtB5JqxH1j82qdp8?+zrcfAzH8wB z@874tlmOa+5lF&-(I95jU=DPzG7V6}52qR`y%aJ%r!4eh!Yrtg(V}PF_P=o^y;!KQ zNdlY>j!b1#4cXH^%bQ#s4g};Ja|pfcf<74#-bC|OVKo%Ak!fH(VnY~E$M`-J-gy|L2JOEA-2Q)C19JN>`;+YN}GMIc=ANZjzaD?=%IW^z{SYzZ~aO@g(Sep zNYBH{gAjk!K(MLehp*B9`EGVn7;B|0(*Z!zvitbRE^%gHiZyJZLjp*>$y@I7#enUw za1R~kX-RyD59izB%SdW-! zKac_cwU7~| zgnBH7^-rIk_!rkCwu5-3p?%1l3kU|N-o_t2D448DCVuuX3JDl{F^Ta z-;U%We`p~9#pM7$AJ47-?HXUki4B~l1v0p&K}34S$i0ZoaZ1{KRJu{t6?o+j@x8Wd zO*dB{C)BsV1HxNFVF4rH;(8rCa6?F{&q3^zWwwr0J5sBmKeEiC^j_S8n?+xWcjP&f zNT>yMuwU5`Tk;^ws3Ah*D!L$4y1b>dea*Hm1yJw0nlnoDg)uERc+89oAFA?vmH~yJ zK3zg};Kbf1#>W3K-^*PCycBPHR!|VbFp4lH5WXv0>sd&i4arWH7rH*4mfny_OC|P* zD2@*o+5P+*RTPi~5_hEt9n?y&qw=ZJppC2bSn|zJPE0Ux6gd_`OE~2ONd>9^MwG`E z_g8l(w$;RTxQSCx2yiSXZ_7#i>y4@-uf>TRtNm3->~upIpH6|eQesBzEA!(%|FbST zZbUZfF4b!7O8lN<c7D0p1b?~M zhc_#uJ71*;5>{fErQA5gH2o2By}SU~f!^T*f?DgYr^YdU&@opw=9!2i;Wrf!Hl}24 zMFn%@z$xr}7iFBJzDyW9Vf-LZc)?sem@00X$iStN!vxz^ za5y`c3igu94x20hEaoR-E+NzpmzN}nq`w-J3u#L9*J_xOZ^WrYk%O!7>=f=YOws+T zR^qtenkW2rFgZ-?;yQD$?=K$L%+RV;yKD{sWr}PR9w2teV78XH)qc2Uax>J7S`uZ~ z7L%PL$KZIM6P6h5G)uB1Ua!Tr3>`ROridJLy3f}(bd0ja87CyVp-)VG43{{e&%k&3 zf3bECU4pF9f`-#}R@%00+qP}nwr$(CZL89@?OW$gdeW0#tA9YmH1O?rKYP8%T##@v z#f$@I^y?HYB+}AhgvR7_7$pn`7|i%MtmVpu7U(fa(Lg#NkKyRQ6a1E#VJXtbYqnAX z7~F*Lhp2aQfku8e zf&h~d{v8M=ix2;c^kU{t84p1C4Z*OAra_f+Mh+q4K4|{vO8>!{+(C$TkutdJr`b!K z%pvTL2F4=6ojhe)hvc57D9%)Lr{)wQ21AD?l#8F<2O3?+ZXiM+q7ZIqNz@lWSfy)d zEiS^VrLsukA0Y*_mqC=z=x?F-0dxYna%ztTNuB`?9UP73${jKRt}&uv$E0M)kT_Nv zFq+Q`V-&y&gN=s7J(e*6iYj&VD@92dmMrp*OxCccMG*th_58;_ETEM){}W?DsL z?Js`nXO}#V(oEuTUSJ0gKo<-I2LZ~hU_VsU$=Np;5LUf5^$jC1QZ)JrJM8xcGy$GF zF){)M6RDP=lUDJDTf;!hh+xDxU$)JZDjsD>hv7xgE=Jud8(9sHGLjg+-o|+Ja6-xk zJ}gq~!l0i$G(eprUM$z9rI*Yn1v`NOK&gF{B{Y};GIjO5%t3IVrXaH17RFbv;qso{W8%D%-em~HiK)y;1ZH00OXb_D) zTDJIag|9LuX^{-r^m(BLA8XKPzN><^+q5ugijGz&7N=}?}k2w;7bh(BLc37v^=CH!|f?Z`zS5KiX)Ap@lk0_=bdfun$? z17(H;HA$W9<$x1bQg1MrV~Oe7U3gvtK((Asl>Wdsk|RNR_e11EUYt8Tqsip(iH1SMEUzowC!u4B zHYBBrn*aiG=pZ1Hqz@yiYuku}GbcDxDpnPcXefm2sqQ%o5fSPn+YAO|+e6owg? zrbAH{l}3%u^R>hkOrfR zZzPpFUH5J9BC2E$nc zfP_ylMsl?=h5L$~?S}>bIvviz$0Ch8m0RvV>nHH$AZj zV-LP(@<#M+Z_B+ZPG!U?<7yi$@ZV@#bbR)YOmqw;9ob z)PR}d#Sc)%dzrXULMh1|0aCUl~gSc^R;hX zea~6pw%WV=%F#fu@*V&%BLBf~c8p?O?nnuAa9lhBC<0OZGE9TYy>RRVkhx)G=n(1? zuA{K_hDfDGLV@f4t(^V5#;`HKUUIm4fz|kSKFHay9!?}GU8;j^0sAo|=$1AKF7hS? zYI?_eQ{Hm@krXpCcYBbE$!!xrVl3leOpKoTfJ{35M$DiW+#@4?eZG+5=70f@mH9Ar^h>{42bez#2l7U&BM1mr%ke{Z(D3G`_6VXu<`G$Jf>B?l8AsBv6nxt@?C32+d-KOP~%$CHx z5&K)Fx!7r->cA-gC60Jj(E6X^sNf+W+xdzM$&cc_=t>%c5X!R5^8DY zAsW&c|xjSBYBoR{0d2*?X zTZsy+D0(vpzz>`_pm_Xn$ZlZP&*8MagQ@Iq+fj4k**x(^{u~PdO9v+`vq_U>p^l}a zh6~==W|&!%{~oqx4MqB0dF`dfaC9g!*%5{QA|DOl`-hv`n5~2AG`F`@0<vcG;Zs@n}4i_%3;$F zI1J>D@JZP({Y?)s5SXF8jXq1Fhy4AoKyX)s=!pJeSz{xD$)q7(i?O~$+&zNqLJ#!N zt?uSbL?GKCkF>H-J_X^EL?4wEu+9TOl*R7HdrQ@l;6W&citIkj%Zo#2Z{I%(e`QDJ zr5&91yuCyD`U1|%gM&$nl9+=S13Zt+0pB+f__B`88Gl^`=WX9HK`I8w`Zu9E<7I;j z#Px5W`!T|Nz|FGC>!pLhj%o4qBX3YcAla1+SHJ}X?rW=i60yQi7%e(KjiWKJ5ylIl z(Jv~@TSH@vgvLN>yT)5aGk!<*e@Kh5TPJ_sf7po?&;4`*B-%-ocR- ze3&!{KY?&>kY|j?NjkAZ?7p@NeLtlt{S85JBZG&>G5<2q?R#H9@k1b((=E?KQld}> zSL@MiBi&4m7`oCJ8KAMB+6wdt4rFU8Z=Q~Y@wowDdJL7uCxWx-Tjj!Iv5NY9t*4U5 z`_9>6GLb#UNHLvJq(-;2%kg!eskL^qx~1hbqB|8IUp0uckeia`QEgB;nurXg6f~13 zznsdGWaaTRd^bL-Ca1eJ7I)LsZF*_hw9Y<7Q+~WBx2E&ffL&F(#zcB0&zE{@SjeWg z1iV7f7)#v-8{N^UjTOo~;(5Pkuh5{&PaO~t#otN4+$Yo|JP&9LztxYwCoPZ1i0W&7 zjevzD7>bXDPKdKDebvI33YsCjb>ptC6Xd8Q&k4Ckg|v9?AdtAL`Q+Fh>g>meh;V1j z2wVZvI*z9BhmGRujrY&q!dbvk-eKR9|NX$?`MnanLaUIcM=Z{|ome4RK%DY=Z0d+_ zF%o1*Kr}L>hd{yJBs^4T;2jOQKs;OfXsqRi+ODwsa=(X(-oz_811^k7TiytNF8i^# zcV2+;BUS4=0q()xwU9me!VRaj8ibOiSJYW~{5Dz8J_PdZ(Euyl({MA;ZIJUbr5a=$g%2z*{O6ZEssTu>E}ivU~VT%$}KrtssACa7pW3;hU^JZLfuB z<|%)FmGL2nL^SN?jsW<2;>ag;y%9(;WeA;O_irIGJchUckYap)8_rwn!0ouZ7RNux zE=?~uF2;`dJh{3|o0vZ!z^8vegtE=b$k zj}>Q-@Pt-dZQvjmrlFSD)9hF6Vj8WDWkHv-(>+gFt?Qcy%W1@>nkx4u^@WKG3$RkM zeau(-K+Zm#_ZQo52$3*zNcuyp=T{H+%}yH<1Ol;>Vv0)R=k`8gY;T@Y*16W}Qm(rXfxX>9j zOor@|$a5Xpq-ICTqLIMRzh%n&+_}~0cC32vO<9$ZVR#63VNI2UD*-VQb|mzQzcpe( zwIm*qF@(BTq;byqSlYX&TqNA_la0MmFx23hQd5X?^ShnA)hif1+NNjF^S*wY0ESnR zEDK*qcpE&7OfiEz4jmU&^a%>u(Y5*YskPC??X}*qv7vzoUL;y1@Zy=$96kLHy*W8y za7-}@{FDHrpgPVvWVJNHAboQLlf#;Y&uJ8L+yfuvf*l27T*m#Q5Rm0> zHXHXxTz3!RjVU7|Rizy4NsmJLqq`qp>5VQ(7Gm|^RpXKl!2#i-KBxSRCOS<5=u}@84f5tibBA@meZxU36w%?A0j5Se z`X$Uh--o`piod(NCxH`%als{XI->Ke!?0B~L87R-+>WXCwoiqvLs&DB$fTciU###R ze;nwcGk)k_x5BTPTQmr2X-u%6OPKK2#!^7^&+a@4szI0u!(hNDajHqV_*-{>L|nl% zQ$QaZdj`RRbHCdivxlH@wwl4PrY`V-8$U2MTeqQ}WmSFmKRAw^R_Y@)yC_|Vu`l)U zvBE*{eMfjlbUAP%ynP#+T3BMHh#NRfSD4|ZI5{E$cv@spYxwV~xk3@KM7$9K8WQ=@ zh&6Q)+e@>vfncU$MZXaBCU^wLF$hTMT`rb)Ao92J^iPO1(ffon5AG1P%o59c@AZ1`53kfYhTnOzVGaFHm`kCynqoOj#-v=wow^xPccvX2)H(q?Sl@6QP?msI72YOC!eDs3rO$}I0Ob&fI zG3F1J$XK!U)%(b!l%1I?rQ^3d+%EyDsuVXo4>HA_lAUqG=N#4B*jcZizXB)g@n^qe z>^^*uap~GBVOz@TRrhU_w&dHtZOtKnwKx$SxGuzkfNWQ1mvM&QI2%UZb>&o9A6ADz zX2>~z5D0o;AZ+JKiL}iFtrfPC z_YcC{WAwZ{s*JX80eZtx6**=1Cna9Qvd5(|qvBAM`Y+3L>oi>hHJ8uX>oSTrtZh(r zPRGRsL*|ac!QhslpljY-bV`^}c{C*a=IpLh{am)=*om)d4>2ZWfT(Hs z;EX)=mh;icLZp3I*`#<#mDg^;Uk6~_0xOxrJns}8mT}q%t5|Z(=aIq%FuvhaJsDx( zcwcol4jPq6SfGbPdMz%k#u%S8{IjW2wvcfh6x#(?d-}gKABWNY@vn#Y>sHYR#E*CE z{~Ebem@D*jdeZ^qh9r~&{Sfv8fp|(35TbZ`<7j1srwu=z9}Sx z@+_e#2uS+o!j&eE*@BM0f>YxprghbSQ=z1;b==0$nqErLkgufu}T3?jnj!kHx&+3Fu>oaS6S*rA?b`#ay1Wnb}r`Bz{U|wrwiib(N zJ>4o6%&#duWX`14S66f|P5)^r7pI#Yt=-P$j@A|%BYvlWPg%A>xfm>L>I8O=^IQ}L zG)7jq6wBMIOzhtKGv79CSyBftQ#aEnyf~;|mQtB!Z~7+fwZHEhl(@GzN@M7CSSR|9 z4BgttAql0&IoGi=oOnXLHSY1{t?H}RI_;Nb5;9!Reb|t529vWq?M39T2JW((Xd%eF zFHFrJZM)l>-BdsKm7#W4+*Jy#)H`#+K<@EV|+Tv4kw)Q79ywY7zCooYQ6 zZFA$uR+><+)a_CWcpKg%QdZszl_GjS^YRfsU#V8Yl#e@ezUArk=bU0OE}jP zyV)EMRpMg#*_x5jvldC zvfT=2^Foei7&}qPpr!&B}ceOtCjmmP05AWB2_PenFAa~oP5FkZeM367Pj?PTKmuI*GwXah|t zcjjz($99z5gpI27GM|@BrbH`mCO|Cs0gD6F3YqhzapK88kZC=)tu`av`BhXkO&RUp zv7|V;?fqfuMIZR9CsRGkmkp|sPLmT{XXW9*gXQ!)-{7I&$QNY#<&NwzzL=@IiQvL% z424S9H}GW(F;Tl(1nM_`wH>~zAoP?6tE>ACyQU32ku3CuTn>j0tH#j7th?;x$jrk( zrlw5N#Ow}& zbCaF+&xSH1+@g8iVtL`Qo1*A83-PVQa6fAc zeBWhENtFk02dPl?c~k$}<3bMw@w-E-=9OGd7;&c+AUcWg92-s)HttVX5x!&PQxV8g zH8lzJIVHe+lrpSQ!1up>oJ!$(c21Nr-Q-1?DsA==rbTC?MfoaP6xeZncS9U&@;s~j zuj}I<%VHZW`2)RfhfQ2(&2( z-iUU?N|XfbKU69Vq+wwYmv*Yd{A-w0r)#lk_sxB;&TFj|ZnVWQkik?EUlfPxKFzJV z?94V3yox!d=YpzRz2yIP7Zj?FUwEC@#wdWh3fC=Ip~IXeQ~Q7h$3}Q(T{p|4NRfY26y*bpkI`XwpwSCrj@*T{*ol#OkCp*K?#5?i`?onE5R_Wxr`g;b6CsH_p;1M*e8iA z8_LCXKlPezydfpAYK{oGjgMfMBh<6$?CZRXW-8;{Os3m?HHqBc2QrAUc*~ufpna57 zEbm$;(aeIgySG?5^3IVnxcO4$J6RSyT)JNg2|6`jgrrsF8l~NM9j~`=8^QQnyKLXV z$)+g&9vK-^p;Z<62-?|}IA0)2(|23w^zYm z`YDX>b+d~UDZoPKDE_$XFh0uxh*1nH24#3kEQ$H@MuYJ$kNcMS4ws(Jg*{er~3g{PWSa7}uls@YAL9*#}->Gvx zt~Tc^If89tYIM-QOmy#QblOQ)kMU08*tTqwe!T4@?2@Zh8EaFz-Kd|iA4(de9)ISK zmxQ_sS>>!hP1k>0t+c^1=eoRX`(|W|;E}cJLh*Flk7Ngl!MqERU8G-gm|32%JEtV| zeUF@{OtoHOq}jyU6<|u+(mzsVv$r{zU#SfFClrjiip5|OE_rhJWIwYUhD|hF7OT52!B^J> z(po}32~D=r*4kmHH6Kp(M81t?rfe+fYWw}Wdahe~%34W7R8aNtt9?0wtHx|QT$AhP zPMN7`jZVGAREj#SofBk@dHN;WP1@q=zB2}Q^{YGXs#V#rxkUA7(jWLiZHS39q(p2)2ipySbk?!1o401Dp zclq5cPkeZwM`jpl=g3<78J}Aw&H0&>Z=jr?q|Xl6X2bIJE1Jr}$I)s&f_N&yre$lY zI%5|u#(UiIw{x)Kp5nW?Ov ziHz}2&CN+0{|9IuuXRpN*agx|i$aN6fR0vSS3r61))OnmE%6OiQI|}t0O{yqVPU2z zaiyE~F_!(j{JSZz=hbEkRtk_ei>euhcHnfJ8mcw+F^kIX&2Y-%V&Ri> zkzB6_m=@nBx>=9jnk&17UH|0hX`u3Usu^6>k~2`RULB+CALiS)CzAoElxnl+eXd@7 zI%6@q+B&p)b15BKG*K{6yxB-bN{MSJ25Gu1|$y&X{7F1Y{RE2^Di^Sh)t6i8MZ_dVRq?xH3U!v^~7tNa)ci;dW??d_L ztXM7QHeNojuKSpPxSd&-$q9uz4n1hLbgeT(`(*#ijdQivDC3hUIY$@h~%o%akLgnKUxeWd3Q_B4nxljC|biW zVmbVF8Xd$Z=&*hRQnk2DTSImSa>PuHg=r=K`kG8-Hip2Xhtb@cS$M5iXF6IpMqURi zpurL6h+3k8%51#PzkU{6)F`!1lQrWeXE75wNV_SYGBKIIiU^ zVv;)6>Ps^|&dF&J)oAFf1IzwAcnX>-QCfSu4BMvdth9cstf@G@NNyW2&bqz#Fp#jr zBez^*^UHD*Spt(?xM=D*j@*o_nhl?Kwljb?=c;n0iHnt*ZWrZVNL7VEiqKQSX)~qyJ(|P zXfCLGJX4}p&iVd-OygGgAQ4~W-t2VSE;u`=XKM#^QKV8qz$Oz-=udvHkEyNBk3oqv z4Do%G7LPA& z;0OtkxJ+md*gZ9a_3X3C%CxJrS2gWY%4ofn)XiU{tjjcIbGH4A z_z1m~wb{LJ-Q<4m#ynTS-jbsiQ2L(WP_fO2<o2!~*~bt6|3 z1tW!Kq4PI0>!j8&#|4OcLDJ92l|mJCkM52%rf1RLFeJEwa^?bJW(UGTEXrk3)d0IO znK2Zd02+{m)%#qH`%Cu(M)CT|R5Y5H#~KCDM>X5qOz`O)_x;x|0V{${y-M7!-qol;`)Y2+d6vbmTQ5tnp{?bivEjba z(O#I_*Qw97L4F1jak5u5n6a%`)zZ0_!>^mAymk@nRUzl5<>RSO1kiB8xEbu%90Mte zFx;JwC&O9@@W#T3>~EAXLDERuZ`tT++7zGIrt#?O47N$xqp#gh{5myY&gp{fKX1xOiBm*JOBh1)P{OAd_uM(!zLSF>+|5zv~_q%Aj0 z3Z1hwF*e-t!rB(6E_|j-L`}t6STpxxrrAkdIu1`-gP30>6Pu&_Lrx5zgSEkk(t*J_ zs9GDqTDn(0a*$_l37=@T>jJmOiK`h~wS$&1JPG?O!U`8~z!-BWmDaj37M1vAGKy_y zDBm^fuWp+)iKYY{sAVhW)BDGX4m+MwnO9urEm8(kRw|%~KPcq`;`m7NS87*F4bl%@ zpp@u*^q&3l4F`w=X%ge^4wytL*@jj%KZ+ygyM$RxQbd- z-ETSl(#~2wE6Epo1g4oThPl z|H$R6gZ1Lt1Gfj)?L`FG5tFup_Y>fx>DfuL6XsTM<691g3YV7if?*A@aFm~?`Ut=n zdjXGuZjXeLjitoHv}WViiKrvrYo}7hvBP+cM71;aTC6$}=g&}hQc165+UXf43tJTi zDEQt{t#;FYUyaRRc`#uHL*AKi)=#~Acevmz*SJ!v_W@Mc$BeuUo2JdPKmXG=?K}w&q zZltZ=3!3jgN~A_2NPOCde??8i**_nn&LaR*k>l1_72-;-a4`6+wXJ^Xl{6XyHu1N+ z2hft6QRT`Aji?aip4XC2W}#lsoQUl6iVRaedybFSJj9bD?0eEKO3ZG38t3qE86%K* zCO&1F<={+GdGj*soef>xk4KJ+(pIoH|9E9oj<9kSZ007pMy*6x4d z06uvTIHWY_m0`9wi$YFTopynD{yR76RrNI%Jo$VhVtmhK($#@_o3zz*Dt(A!J4c;7 zTHO?Qkb0d~Y4%F2RJ(V6en*U};dxE#>5{730a!ywNiEC$b-Ww5m|KSgULABC5DiEa zUx8s>d|T4+s4Mti$nF!t!*wEQ@!laK?ca+;Y?p&U%xuH2#r$PDOB8TY56Z|%9h4_u zKdkBD$eT4bGV-)lV;aGRRHyWK6Czp#B*%N$vLMixaFat^JiQesrW^|WdmjT1{5c~I z{O9(0yWry%LuCvZZZ&2KkH~0=y-x%|*~NRQ)9pkU?Iers&kIE)3ql2_C-=|O(Z_3? zmQt16PlN5*&`S_q;$YFAuoy&7OWz+R>-`S5B<9nyY$q2Ns&+2j&(F6P$iJ>tp~7Hy zdL35Te;wE#g-@`;qSF;T?NrO&>0m=#*()#(HBNLrKmJXd_k(j>qgt)L#)#G8?kNFXSS;<-<=XL_74OG3 zbhYh1V>d7wPsSutjS=B8-iWPe_r_trd)9K?HC^nl@0Epo0OQoa>qe&%^(fN7HFSMT zPAK1MuE22ljC{9U-)iTyAMyIt=9xys+oK{PS>K<#Yfb$2oC{YpFe1nZbkp&d@;U#A z4!{<=APG$*GkA3lf%L8U9(9duFeO}7!!rF0y;ol50tI3(&$CP5F)S*iP5+L=L4*iK zoV)8&`TE}>p3Y8`QcJfAQzMu#08u9f#RDTkNJ@>M`D6*#z*DUm)VwIxgIM1e8;t;E zbs|NkAd0|9ixvc{6Ly3;MRwUi&CP}ehkZKVz{KlZl}X)7O1(vki) zyeuXhqT%dhf3fc^c0T&_T$f_gbh0fnm}+g`eR)<*-NJ72aiHjuXZx+cy7%>>Sng+G zYJVhzFjndxlm}-$KKy6d+3!&Hv=Rq@BkG)|5Upb70oe5|$BG~v1R(bjy*JvV~1K=yu>J9l#(Xr}AL zy$k0OyEu*6z4z@An#7M9Q~UnAdsz-Iv7{(JvE}d?`XTFa+L0uRx#?YKL1BZ%l+D{^ zo&Om?r+JzwYjQMmm*=^^u463w9Pak2{25DQZinG`7d!JE$+r(23EzlJx_*>GtjGJ? z`qS^Q85kJo*}-46{qU)=$~oQmrFgSnc2&j|MC#rCI;I?w3d?&5J=&YhLV>5g!xmZT z{_j{Itb~l&@>Y|hw64m-nRuOS-$R`6+Fyd=Jf&W`jhe=+*@)3Xr>;CZfa}rizEqZCL31&5IG_oA3XCcK@|-4snl2YwZ6(yO{r53+L$a z|Eq=j2imRP+5T(c5JW^EWE2Sgfp&yC@s-L7!2kmC_~?Qve+mgvK~O+ZK&{sWBJpv& z*vLJvBO`nCZ$IW{NeTGnZ@q4PU%z+Vf;O&hra7EWo;b21YymmKAp-FW_r4Fo1DElK zr!e22sbIU0m#vQDB`caRS;{XpU~j|6*&V5q7=k3CNW&Hl4biC`A#$dp;|Rn?{<7kAOt?X!RS1D#=RH! zrI56_Ahng$pNLW4mRnC|r&9B~z$5jcm|`&^?Ja@T@`dw2W!=I(eWy(R6EgB2pKAkAem>&c{jD*LRv z>^Z&Ez=bJE&z(jCIA$`CJi`Y`e87c~>VCe6^XzgAwCF#aBR`xb#m4tKT$l&t{$bw2 z=GJkGT*)FpQ5C!OU0MNZ&gFV;LcMC_ zV>lF?o;D{fAT3pfCNknQwJlijs((XQHD=Cn8;Y7GB+ya3Yi=0(z5eUtG?Fj#u+bt0 z(aL}s=ct;NAKx%%c(Qgib&jm?zuV?+b8)v*%4?{s}hA!~c5^@N4e@0Dh+p@J2%7FAh+P zoPUkvF9CQxsz1H9=Zo#%0W%s6V#E%dPR$`0+%@3EboPl6?E?4I z06_fqlz(RrR~8<))ea0GlsyR@E`!~Byd}B6(BMuNKAF? zU8*h6ZTkJ~t-Wn_{^e-g)_g$iG${CR^mW8Wa;?eo z6f<0Ir+o(yGdsRLzHJ|W+D!<9fBWf#gHq9;Da-)#M)o3^;O+x>NpS14;tkldf7tvN zyXlhu4cMx0$M44?ux$#@KLXrs$a3p*ohjOb{9=*};EQ9th`vx^egv!|FJi&CJ@?HK zkU<=SCmc}Tf`(=T%7l!ljBx0uhwoyAia8LkX)Ez>=3!aWhiCj57zkFP84pFnkLLX0 zh=-iVn(vt0IF23jC+Cx7r=+tr&Lu%0Xq|#Kj|X1%gU44i>(x92i*SoRrt(3%BLT49 z0-Yu*h-wy}k1>-7L}pMxknf@8_g2>H&H7`z-1F`Oil0S}twGLh^g!fbC+S(_r1A$r z&&?SUs2LKhIA9W=`w7h95bSz9@9aU!q=5PgE4eK195`V26Ceslwj zKlB$WxZk!E2sM=Na&kzcf-qU{Mt(jw-wVRnsoWpxZk!P}8eg?XfT!SWu%8Qil&91G z$9<5uL7w1#+Tm0m(CAWdLCp<|o;5)#bReIMJ$MJ9p8MNJd5~$NN(e-|OdnVH6q6eV z-P?}oi~f(mAn1TQB$=%G?M)98@?h=3-nKi0#M2e*rwj@)QFj4|P$rvsE_d_|#NJfj&S920R5>+#M!mlk@c%M*X;x6`rh1bUyxBTnd~Mt7TJulJY|(B+nJ&#%=VSz z*^;tEWwB2FN+TBdPA_e=z%o+;yQ`oz=X=f=Wx3N8fH;!SAlM~sR^Ib67Wx)0`9O{*%7}-FW{rWBXp_xwQ z6`7vw@)%{Pw=sUx4ALd}RKK#3c`_Q9Czb=hZ-#li5f`2Fmu0u__1Iq zAZDp|)0s_BXTr#TOo8>jx+MUIhl%YW554Flb%BNcTXx zRdzFDm|*K8xe_qHL_OvJ2WE1C73WdN%}_En;p-EdAngq0WFffs98h%JLnuV|pg= zPyP-y2H-wI3In5c`86P@B?;9-&h$+rT$f&ZS7W1&W2U?9yEYB{!G=X~ek zHnTvV^1y-E_6y(?o-I6~qxy{-&r*)hcnWT_t6&<-!YTKXmK$1VGl6S{>+OpUS8ymB zk3Z+g3?>6bFLxqjV;?Oi^x$-N_h5JTgBU$x)m-|E1eDoEwOV>XGJeoTWQ59lE7;bVq3eaQWbtDkIfVZ&?E_=a$%AZAr*=OENF;ocg9r;zq+9U^HQ z^qsM3;kiU%ev~7*hCI)h?MHt(MJt>l1?>1)V{WTTWG`X4TwQ~0-#VZZY(JC`zyOZRDqwO$Y=pE`@4W%$#`0-qV4>u{8I*c zpL@I{YVeg zp|+_aL`h@un2!8x)-P`ah(m5eZ^)2Vt;jF0V$l2}Nm_(09KszA7mijf-_CL`w2~3M zJe<5c-vtyyGzH2W*4iFe9VFcdjdH(&iGX6u(ZLemgvCBq*itQO6F#Bu5>o1EYJYjs z0|@no!NEA#xPu|Fi}eg68nENC0RIA#B~Vr<4qEE2CPMsa03l{e8KJR9n_muqnueBx zR5>qIJj(c)5E0C=AVU6ixr_=3!8YbfCMrurfbOdNDmK4EdJ_68hb{3Z!gR^``rl zI1RPqi#@e){^GAoG6H{`?AqEI_#(ize`T|2yaDAla;GQ)=GH(<8tk?^u(MZGFvA`` zM!sm2Jf0m^w54Ih=QCJ3A<~2`hF^_+eU{K|hReN>mk(RmCW->NPp0;qvtIi|L7g~z zgsAeAZk1_zI?Lc&GXU=UJE6uICltW`Acy!92;oKT>okJt#nvvd4d{}KG@?}(@FFumKGN6_PEI(o_W`usUGUMq3v zt9h%N&`zR-sri8nbgiFOEF{IIyV&SbrUMOnubVDSk}Z3$qT8mo#be+P`+EMvh(L-^ zHOYcgQc^IVqW%Yec^cYXNaOg*n^7$yeTaJ7{#U}lS!^-t>2d3WgR=z!g^4YB5dk&C zKN#QFe>ld38wo8G5-6OZIRlgv(Y`TA%i|A%n=D%hLZZxaRkC-0z)2DE$GSm z^ScTOoC?G+{Nmwg+dnwaPw!WVzz2m11Ia>0xcLZks&`I~S~=Bh(6^0lgHSg=Ly($d z766L^HJ#K{zK?JeB%Q1QdWGrlzr&8(d%c^f7wm|{>yN)irXJ-|@YH3Gm^2|=WdiU} z8{*-sUhza&2D1>Nv!Xsudh|T_csB|f!XE{aiqEnPTws#=hbjYRoih*=6#c$qAihJ% zBK9GTKq~<;2&p?H=v5zhe2CsS1@Vo{_a;j3!-L{i{BZ`1fQS;zP2GbA4w!^9&=B^i zt(~g`GlQk0JCmZ`LJ=p`4!A?J*^Y@(A3>l%@7t17rXpa^Do;ZqDb^&X)OEn3m9jEG zee((-$RBWbpe)M*l4=(^7|_unp3%-2Aqm4#nS%qUgw}to+e*9bSlgaL_mN+U+1+^&~_vC z@_rX;r@~iZ{6xWIAoLD!T}7mwf+I^KO5;t_7p*5%oFDRAM6%YK_VD{>@6PSBb}KR+;fwO z&ITyF^zV{-^F;J8ziuJR3NJ?}Dh@{EEX9flZIA1C((Io&QNpH=$a zO5ttMWrSsAmyv#0aOLN>%Wv#V^yG~^i*vOVy(-|H^R#pPDbSO7t9_G!lPW_0xz``t z023#MC%k;O5y^~54bPe8QH11MtYNnqGW~2mm2X?AnHogECXVhyZ^8uYjN#;Sr=dsZdPT#E(?bPLJ$SRzp0NvV21V1 z+2eG|Zgbp36U%s|6Mn_G<@ifzi0E9%#|;-E z2J40c8LQ;h=qHBlR!G1!%4nw~Xybn%cgV|b(Z^K~kH2dc^e9F-im_?|ejQd!2;s^_ zf}@Om$L}cDH?>GX6g?BNWB5m4Q;khj%?o7L@@G1ETA9!-R;krp@YcqA%5+L)hufGJ9J zu%ZxQ_lF?js}D)=*p4X<8tRiRu|VqG4^_-|M+N1i8{p(?hz=8q`^KqS(;mHown~v% z*A&jbcHH<%nY3fB)z|3+z`aCdGLL%YWhs@U1T5ctpRcd3#7~hi3aS(p5G5!Jbvhep zl2U_FBYJGA?koHiyYS^1AF*fct4%@mR!N^7wzZMi?kTV2uGdI$!9}1I=ZeMg5pFHt zr}^mQj0^fyD)Tr8qf|q_qN+6CLLPa-k5u9Okx{V_hl=blo{k^!0{4vxv6}wkwr9<) zde1Byy|8V%_U+o4l#x0h%y-{W=E0i1c`lV%=`YW z1GE&^VZ`hsy0H25J;-i{y^J+{H;&xs@G z)dQ}gf6Z949jz6G}VS*4d|G=u{f?8_0 zpd3ihM*Sh#YJ~}2Z7VK8ynejZ<@h6E2W8QEk-%$C?M?`guV>(d>|!+`-H-aNFvpHi zV{aILlDHiM+C?vmpbxGS&#PN{N(`6fM%oX~%FOu|8tMp$MLe%YNPa-T@4io-&^rUd zpWxr{pTBdw`gU50;t`^(7j(5OltL7T!PS)llm?p#^{p;$NKlH#^%V9E3XX)ug$5BO zm9;z?*{LGxr^HLm;!#=Auu1I1@Dh;(;)&*_3RyrF5d4sFcUi(6O*9A$%DQ^@(F{lG zzwh5hs3TUXq@rj&pbaB&sF4WsND>kdA=*4T$T)UbQSpI^(aJ-|?jePS03gHTh!FAR z?MV}2(Ul=DVs*u-BtGW$iF)5Nhr;rx^c-HLAxXo>9&61+r7)CX6^CxbsUc;D%CJ&7 zx9Rc==a*u9IYf3MMIvKJJ=fRtECP+n&{9E7EW$7iQ}ufZ)Pf=`- zI<-Y5^yGIDCCN1oMzimn$RY)@aWKbo;YJ$6s|PxX&Ey~1>swOL*ZL;5=H~`ywRT1) zC#7~ahbRA)2bv=$Dx-3$)7RF9!4w%$Ka9C}eCPqp~hF1s6%NpC}n7pqqCc7?t3=Pcb$$KXp@|<0=ZupErR2rB*%FJYgE$ z`zwtPjTG9Pjc&>&LoJQLO-g7#b)A_eI)X<}XH#ERVQXeOT?22>CRvu*y&=k6lY{On zcd>dg0|_o-qWjHhP#D@zHC`4CN*G#I;?ydsv!>t5nnUAAYV?t*&854b#3q3wwaLTv zBCr+1GaS5954-N-ZI|qbl_c9Gn06;fr(Yj^T8TT-`ACLi!Om@Ux2V~0Ngn!!ibDoy zEY?yhPuYveXoaD7#_&5+kPob}<5mf=<82y2lEiv+D)FblJ#^TG{|T#@v^)S-3Om>M z^X}YeMD6TkSr@5WDT8|my$wZ z1(>bqW^7;}&D6o2^GRiaFA6h)*F^1W68`Ap6q#FhnQAI<;k&DS@V%w+L_E4EtFc-h zCY9gNyf+Mx?%LXfk)gmTyutHjQhd`t+oSz6zrqf_59}HPQ(fgtd>)@&3p3ra$dXXsjF88(`E4pc-ZBA??pr_5AwB@z`lv_6c1S5UR-6GFFK zS9=EV)<)E%>)76J?QdCuua~!JHs__>oWb~BR@d2XoxnO$lGW(wxMub^iY@PV49^sY zV;{pObly)3_*8vpsKd;4Jk+WS6)k(YYW*Cx9Gk{YT1_)S)a$xF53Ft!6mS@ph{od{ zNVAeyukVd3W%C8JIfuXIDm!{3x8SjpSfdv|zZyiG=||Dh0da3C0>ZPo2Ri4K+_b++ zo$irAJ4l1MwYvL;TH2dx}hl0jk;Ki-F-qk2^b&rREVXjZUtjaB})f zMm?p>j##6g6?~;^oB56GaV4MFYByGY$L)IzpyNPY>JWM9{R5vGVGjG5($Y6BU&9l7f<7X;Y`2^ za6?y2VrdrSPr$LhI+$un;$u0=44+p>u{I?MV+A=)37Nm%8SOP;~s6b?` z1VzGz`H!Bx;W0sTwr%sZ5USJDkn_(ai-e=~Fmb)Kf#EE1LrW(|8MT`!~D zD@uzU-7}p+M}a3Vn_P$v)WXhe?wY=E*A%KB>z7%Gr0MFq8mW#mTn7iL;fBakCzO=F z?ebr_OrQEbA1_bOx~5&_(+AG~I!BFQ=7KiW<+qZD`JN+aix);9a1u0sb=Yqs31s;T5S(zkRdx}K_i^_ezr z!Cfc*qjB;htjVo4iB%TYQF3=$9nQMrZc8zfTOlv>AqC<2Bh;bYz9p#V4YY^rQ^zrp zq<b-;-47S%ww@ zherWi7srhrE==sCsm1 z2$^Uq==FBl?L5Q){ZBW@hbmroExX0f)rCxj=v0;n=H|BD%l4deVk7rUc1PKMHSJG+ zQ{j>`Jv8x)FO~h6XLP;ewcLjC$9;+ZKn-C7-jumpv#{WIV5XVRNdohENpvH+t=E@J zNcr{(2Rw5qkNatNQLD(rh0?NV=z~J$Sy3jF=G;_HvshL3UFbEeSWP{QOlUQ+@nAL# ze9qX{b>yjcT3TY@5RDHr=*Fx2_EBeq7?%43ua2AtvHBG%Puo0U$t+|VJ7MQfSo|K> z{k1NNY)W0N^0uWZr1?D4F5sjp^{G2^j{W>k$Ki8#D+A z`6OZkIt0YAFB$dliN2WL*Hje7tp=g(*`7Jkb1@sf>a}#I51o4gc6&~LI?tc>ocU|V zXvca>3hRiB6tU37*LazZ#3b&OEvdTh3su$g9-Ss{jP$w^y0a&y=?2Er$d2f>c?0tL z%xf19%ALp6uJiAK%CwYu4ZOo{G&VJod$%JB>#0@xo1Sf14YBwy0(-V*ogwdo2=)2N zKYxbMK$#z7WfDA*n5;j0KaCIXTuDPPd^m-&Qu%S&(kUJHB`#a>BMXyk@DqxwPCpAw zW))wIA7ay^vb&4U%)QH_t}&9s$~*SHKQ?uss5`bSSnIV!-SXD@9=DPX zK{k%38WdegcaS+zF?G}aiK6=P@thAo(jXteW`)zN#1O?Q(d8uVIPMk|Q(h~Z9VfA^ zW5td*$=KuuYlZDs~br znERMzxvfD)N}d9gUk#DgkLgFA9D!MiCD}O8x#2K=^q^dk*T$BI!&PWp5T_W++WQqB*Yg&a^$8C3-_BtPg7VlSp=wCz^0<7=@*BZ zQY<`tu0Q48zxX%TK+fEvY4ZiAEzEdl1+ts`z>vj#JXO!#I#E^?r6Mey`Bo(CznsHV zwL3)fnjIknaBW+aYBP-W8fx!PChD(S$(@fJGxU6}?x)=K!V<2Y66aBk;F3ZK0pqY}-+QVI zRh06oFG~-n1MO=bYs)5hv{#XrDLC;CJnPL<(|%3ILX#sT^*z}NdbjCMDtMyMHA%*B z?M-7}SL^j2Bl)GD(5`f*bSERzCj>6MXh`4f0VT7}V|u*3010M%f6QMidI-aC4HkH+ zpP|MBsPT%sNyF0(UG4l*JwFl?4i;6aNQcz`5I1}CK^`a^s2#@az7>t}^;&u@{Oj(~ zNd;2n%z za3FEb9xIGhFo;>;CTW<`ho#`6qYH#<^BFC9fsjlpO~moYZU^Zhc>9Qbwvm1?jrPT0 z)x}q2`4mS7f@lX#I;U5YeMh+5A&&M@mtm%0nJhnALaQ}QJ6N9t9eOg+JP<@?&JXlW zEFS}Iq7U#Ta|Y<$CO#h|C^T+U6xqz^(~f$0da#e#FXk0NIcvH`JZ;=^ z?>mAROV5?w6_~tng_cW-41*ljboK07J3eEN%(ZmK?6IVFM$N6Q$aC&PUzK6lEs3&1lFwF){N^2C=FR&?)BCcAhKQJi1AFndfo|v-&&{-A8u2 zhjCE@1A@{IOg6fn4|h+!`%lE{Gd2?koe(fhZEVWKU(JUIuC((vN zBG|SYI4KL>_K`NXG&kONjZLa?6GJhuira_Qi4OJ(YAMCj0-|_ZJ^CANp~8O>4bfR` z>7*p)J}(tFXPdc+%%TSt1kPu`LQa8{@b6z9(XsHGwrFnAu*Zo}FDC z%$j-H2=&XI(ibXi$AW2L=jNDYWnvT)r0=*TjW6IvR@>7_P=@ALKDYcO-2`ec#w6t5 zO*Y@`lGOeNt;^m*!sO;({0*TBg>0rW)X?_JSK3{7N*}?WnTtioKI3~GOC$OCj-Nsz zO|1eD=PPG4QDY&Hu6qf**e5in@?Nux9i<)@Ma)4e@J7F8-%*(9A})CgcRv}O!}mxX z%u60xz;A*@d66_r>|sBCD|!-1zI4^qjJd$rY5x**8IxC;UY3SRIrgduZ!W~V@u3jH zd+E*Zvzk`Bx=l_b=c`fr=Kn!3HT-okfBkolo3LmZ_&+RDyi%+_xh$&QpDX@!s()pF zcYK?xYVS951U>UnU)ev}4L4kUE4Vbmv2e>JHu%hAmC?gn?CD?sJsG?889y0E+bU)r zh{^D|Jv{`Q(*nbSWo7b`>~1;62z>q$vhvBI!q;C7vkqm8*g>}(GaZ7vOPeBeuIcaQ3nESINNEx;teU(rE^DXx(i z+g0!>b)x!iFloLDu>wXz4=RD6$`oI;5kP^Rw1mkY>Fci|)L>y`U?>24oMC5ZQ8f%7 zhWwzCJ4pWkPBUe|6>*=}5%fD7p8?$Ey^woT`L=w*}wDc2~=36jTvx;$auK5ZX)V`*kN;iBQRl-F7 zRldyIWGk`_xg_`$|J>sr&^~^8Ls1bus~-EfJWG1!)iBjA%~3SgLOOmPD4Q;nY<1i> zW!wB{{VRSh-M2=%GPu4Y4+kX|!<;T^wV9UeUDasQ7Nv+#Skw63er&XXH)=8o)SP<- zR(H<~?!%O!&=&p&G6|cpe3e(pb-ex}q;3JPCSTuGd0pS|fYnV+5F${sv&yI|zf+rh z7FEqiTTSDD$<5alM%!_kBZl$A-T!)mILsHz@a-OS=ll8l=v?7@uJW^3^o+5Ha`&wY2BcWGIp$tO)txNYifsu^PA~L4RXEAMD z+0$-3v+lCv-4sox-=f%a6IEM%u=D#@nAPt*pyVvv0X8u9GSx0W)(BZ^n$s#@y~IiY5gE% ztLL6`c*A4yTzWgFdTtT+dWxg*BfamNnbZQ9gv+3QYbF}g_t@%*v49k9Pl0?MZ31PG zW@d5w^1&=P^c@%Oocq0U}#?s$2c+jvP4eQMZuxTF~{1|_7DG=4IwJJ%4Nqc*8>*}EEX<#ikp zmaEikK;7!vtT`rFhqzfznn%2_H9BKb5?}EIi97Z?^|B)Obv<-SdbRVm&1+k7k4v5K>I5A9W|*b)4~EenDhY9D zb(S3fS(-S{HgcXrb798dtmGSsdEci`L-ZDUnRU*IOk5sxIo;b=H^airvgAh3=pfhD z9JQl;{ELIznwq5Tf=5GAUYd*384ANB7&aWau<{A7D5d953(=hiYq`Sdr|r{)F! zsukq+n&qG-CEoR znWzT0g&Mb~r6{wBCgPMOl;bAJx6&ug{zjMTg`y@&^)Kjf;LkhwSk@^R}$g*>q$4pz1fcP{WVYnF=12n?CN5?QXQmkqsr^KNz1Q*Kxf!_f?oM_>2?^IZua#oJP z#tA!;a{ixwkAC_4W5i$+Buc57U=SoFZdK0t{03=roClH3#kFnvEwuV$5bBiZ+$+x@f8C@%y-zfNUno2V0d2+bA zc}qP$QlB(b9!aCAFzu7bQIpj>wZp0zrNq@yyaWqLcSCJ2)~4FWJ+UmXqT!|;+1eEk=G4w+aV#%(xJ`CT z>Ji|hXnC>OyD2-{gOuJW)KUn(R+dR2Mnd&XFm9bhi^<4Z510w*qVFbp)@Xmm6|Zo} zG;>yc%ShkWREs)Yb56vLrw!bxwbsd^Ytg;kdD;3!=uc1g;MVhkEGlm26uFYRM8g!8 ztV7_`nJ+W{%}2DcSdIHk>U=BP9Shoa`1rOirAn%-ZfkX&IN%(!Wp)h-BtIN(1wA%M zulI#~_r=tFksD#qDH+b0RKomy+4l8mx+qU3-T>A#|I64u65=&3UeO`_alXoAkopWG za*PmNR79sQ$u0B@?jxy$zjB7&Q=(s1mGM-l@&;sIf%&i#%obVMl=G5sa8Fxo_*M4B zrBf1>Q0$`Ph_35S@Y{WtPq0`!a5f#`WvQ*9b@wE$)Tdq-OxDP9dbad_kof351BRAk zgqLQ^F7W_hcX%nOaLB7Z2>7X6y@^R&$yCZN+xZE;yy&ox=LBnjZm#hOT*gtz_zA2498M?my{9dE?U{J9? zHT(UQYuVwsl(Jy&HcXuEl6{&nb^nlv$sTN0{dAbMd`oNTi;zT~R@2-w7C7^AAu@pkIQ{p`KrY4;cTJfHhqgt zBYd#M%c5v-c-4+H4J4n2+hP|Zez)sOo-*W{k=5p6CO7wd41Nxf9q3Ni9rO0I%6MFl zs)Ef3xkPT#mQze>7FfvCDq28%z8u&ncF$9EI#i@U^MTATy+P8Y>M_!ztt$LEds00l ztCZy$=g{nTPixO@@Se0P+wiaSl9pI+Vv_wMI#A(q_$*XDxV)5%e~O%d=e@bt_%T3x z%)L${xEMdo?jjTF^;5UZTTAc+o&-Y`=*y2LARg zTYrrqk0RD>$$E>Icegi)_hQ-p=fhP;S5wEJUf5dO^J|Rhl!jPQt{F$bOC`;>4L6Wu9qX`E#zKHWqObFM*gtjSpsc_Vxo>Ops}>cW;^OdC45T-ZiAe zwD~do5_^-dn6ZgOB~zN^(K12c;})n8ixG<6ZgeAKoK>^VeVxhXq1eqvTzchZav92mT?lOW|*I$pvr4V4H zgYzY}McDb~Xc-@5K}>DRBCA6q=FX?F#DGYu?|fvrr1C)H6-OEkDAVLNag&d{a8pG} zx{mS|>z_DTe9r>W(D!rmS{Ccm#Z^yr-&OFX7`!f(oBpJDYsHc1_&2>2`G@D>YPbQV zlKb-dr?F+kiJelko99cfM*b4L$5;0UB3D}M_-D!!qq%faYQaC~tLW)bh_P#8b29OC zZp1wrrXNvn^>|;!g}xAEJRb2!#%=$ihn5S^o2fm2YG;UmxBqvOa{RYR=?7=_sQ0T1 z68xX4pp(P@Pm|IM{I^NDeoB`|EW*z(tj>>u&>sQ^^;cOq!bxs1js`)ZkHiUDSmd%) z30oxIP-M{M3WDNUr_SF1RAgv-`;yFGj@x6x{l)i&&)+JeW{OQWV-0X;6ekQsAdcnr z`xQ{&gK*Cj=J7%n?6v$9U(Vl!I+J-7UY6Yy0cT{F5K>EqCS_dEOo=sPKrEjzC}UI< z!)kDV4?^Gm6hmEI-M%zT)Q=oQ+D~G382wps&VBE$4_NKT zcY>^ZWPEo!KAHXO$q|Lu-OBKYcVp6j9pK^SMs%@~fx`8Gn1t%LO=oayV4n$X7>Pp2 zW9fwXM~l$YRVArc-~A8lKq6osEO-HQKsr$Q&yoBP&ddxlVR4r=yvXqO7Mz^@)2}%l z?tet686Cv*N9OPR!5h0~xTz?7R!m$T7QZq09_+CLY-!s(&+Ffh@Q2@)56=dm4^0_Q zTcW0p+!N`rT4HowN4U!V9^7?H^71PCX#FYqn)_ysHRXQP{@QMxr7T_6d7A}G;b79e z@wVw8#Jv@{RofY4_tYtf_qonMq~c$GDAC3B_ot!mO~L#(eqc!BKrnnj;$V(Z^FW1A zFwa=c(Z4^(u0=+?jsrQ=$_*BJWhEqfhwnJZ6F(+6F*bLG!^eRXhs%z99RVA zxX;+^*x1Fhlx$)tX5ZM{CkHN8usw;i<^=|g%m>l``q~;MM%cRq{Iga6bj@`2R6YT} zs7}Yn)5{D$;nT|M6gcmpvwCb0Ie1YN>R6M!M$x@JmR8#SF)|(RStowYyAgZax8z?1 zzL8~v8$&}`ktILt#7WKmetF&AT;bA~iw%L}9NQi2BfDaC`Bf2ffZw!WpzGACb5*N0 z_#v9!cCrEcE7?Z)bhR16lVb~^bV8Wtq?Ne$|;qo4H_3*oqOZ{uWT5VstFqf4(_Yj{P zH;_!OycG9z^@&w-3+aH(64PvFh&mWB6V(t7cXAnzBo53N7nz!! zObHqhlmeFyp?OL0%MR%wH1XU01$s6s1ro6IyJ8DCY3^lb^P>k3f{;QCi1M4W1!aKC zg#~;0126)UsptpX4SHff-s=l+#nIHV91Af1E&=Uu!0-JS# z-7WNY!R~#4b(;oeUjdW_+ueh;OD=~9wWEGb23(!-Te0RZ0cpGeye0otCU$>CL9Aa< zu-n;h8<5`@#0(o!56#c=PcJpJ)(^m=kDn#$E@Cd6Kq>VgIG<7&*pL7X1aQ!+90L0T zA$-`cCAcERh1ovD4WG06<3o?tcLM zOJ#orsMpHx#EL?F4g||jju@m64(Iko4k4fW;P)>JoRA3>U^iDH2ne_@UX0;24avF> zf)H<)2+MB>C`QWwgdrC)kIEj;M=&=#Y5)KN-46ovx7A55YnLXDaE!EX*Xs_%t{?zE z^os<|vz4zYWXlt>1Nip&}fbui_I2P*N!lZ-> zH6F;%L#a9-&XZ=Ja>xQL36-Ol z&z8Osb=~FK5fC6FrStK+%mtNVG>Vj`)Or_qATfn`A4Bp#qypF&gy%_-dIYh_L!RUK zk+C!r^pXR9?gl(Sdb{Au3++w~1VBvLLn85sp#aR@85DH{5XT}=U_m59f#sbfZZ{u- zvNJ;@?M<&hjdFZtW}*W|e1M7xQf+e>!t%l_}`qM*)JyufvAY&-yUp;A>@<;)!#8NBkqCB+Iu4k10U47 zK?XeP2;iQHv6clv$?oqfjpQ0&c^C*Vq1Lbb zYM=;WweJ%ft!5B1s=dI!!8dXVG#Y6nVd5=GTNVNqr_uGz@vlyprB`@(4K?OSfQScRbAfTwLMWXAx@f!kkmh7w3;oV zhQgfrdoa1^--puPjQr4Z8W6%9pU~w*fiCsST1$7_pjQBYFx#anh2Z%I;OQ(MFzUiT z`71?TpFw_bfLk-cDHcd%gh*5%Ic<*uFa#kn@Er`I8-1i_Wd2?f1h8<`7;Gid%&N%2 znO-HX9s@W}d-H5=9LLGdxK*McwYDj9E$kQDLc5)iyxol-bA@aV7h^ z({1&g$Y3;TJ{9f$VN&y-%3n>e2!ON|TEwavQkec%6XcGs{aEbPafT!xdV`t@r81cF z1i6JPH1iYGMv{u!sxf>30*+$y%paLdK2y!Kx1cl}z2|QTruta}rnS3HZ76lG+ zGPtVD;1Wb0e=7_OYhW~hwFBf^8coy)KL(^16>{I{Z~9pv^D2@h30=RPxqN%&J zIs#Pqz#q(S!elqruhqz{|CRuY91uH(!GanfR;{ubNS8ng**q|22^INkBo&4(M=#h7 z08fn@+0f96Bs;ygpgvWJj*bzt7#{w>?f}r=HwNz;M&GbbiI+H}HbrUE2SY1J*7&ZJ zKXfbF>~IxN36L9o)Gsy$n-CLP60|?KA+_3zHw7_kbR;tfjXwm}7k@1=ypDmj2if_r zI2BwdJ7GVduwWHJygwlf8QDJ!?h}1427@~8py|CL1%H8XEpQg{J2fZK6~}h9BpRA% zm=Vy($>`|YQs*Hls*DIr_9W?Oau6e8dknUi@fhRXMhq*?kVTbU3&LR}007cGCHLG= z7&2f9J%u+$96D$W2Xtals!-_IzNzPvX}^w|(MS6UStHj5Z}LrcW$s&Eg0f6Ey~ zHv+m2uF&Y3*9>AGx6a+&5cu{Y+BuL|CczyFsp) z@S3ge$n8YLyn_(8qyuoZG8R~~Z2EA6yFgkhS9#NTg$f0I5O!nZ5pFmL?+;Eb-6+=s zd4bin80M{Y;i&pR!XyXwAh%`o!)<={(!f|n(at-W+x-ZHM+jSU7g~$; zEaDj4zQH+B zc+ow!Q3(mJtliE>G$Z(pkq%lIV{eOB*ZW#r^%Lwk6 zZ{tGlf=S~K5kB){kG<2KkU|Ag7W?UmCE&dgURzs@T*;C~3gYf8kr#MzWd+r=Xnz2I zE+}CI6d;xr$*7SP-3ax)n^|SNQ_UFygYA*twianwIhc^vx*D%cs)6gju5C z#*}=#t_wAx_G3oW%IzWRkfIDh+538+(GR7zI>3_4F@c-x|oJMX_A!>T|=IS{ak~sT~q!d4<)zv$cy7v#)+f4D_tP z;s=DgEs_Xb_3%%|V!(hy8vJD2A%{T-BTj&FZe;ycW$!KF=7U$H;np4i6jmK7R>+ts z-g|O`r{GSK7&IHZU8cQ7yqAZJP|4ap3Bmw!5|XD%$W0JEdf8v(a7GqI_OpPM8?q0S z2!dnEl&Q@P3%aJ0j&%;U(K_(7ub8@7-kdrpbCT!1(1AJZO(3OCs`Is?(E5StYNas;inr@3tVCZ zc(I0l(1c~0ME*b+#R_R|-G%ZZZDCuqPJRxAu!{~70Ps14{V`h;boym!!beDuQIs4w zjly>jVOo|0vXz?kAf&{Ef)`h;gKp9S{}Ojesvp9GNxcM)`7VHJQF#Tu(c|{t>JRmh z4X@Tx6nq4QTKxvDCyb&z>(OSsf(odqNOwzq9VI-F(27Nzu*hxvdo9&k@j9Rc zy6xl(6nV+WmXYaV?UaGj4gsBTMkQj9z-}b)%J{!vu)bOTl3+oTfOOIs-uiX;uSu?( zrOr<&4=t4N1_mP&!6=Fj8bvWoUpLcpjCb7b2?_QC-Dw>va-tLtr1& z1=Du1n9^zd0sZxQ0MrvP-B@em?#H7OqoHNQ%mGLUzOmD zbaa1Xhq78&*cME)e36P74QAVqOOAED91A#R?2j;yWtp#vR^ z9CP{BS+A_Z9MTX9z3M){ghC@h0GEuA7n*Kl4?-aX^h|vmV#b=U## zzFQi5vp?~o1mH~p5DV0N=sWU=|KOY-dpeRBl)V#4O!Z(q45a{huRL%&cuZif*shr{ zHzwd0fS6?|pHzq_Qq}ctxDyyicr!1OR;b{2ZbIB9JFHNIn=L1y3S=<$5wui#cpLxz zSF_xS$r=WkI5)u_|NcHtDj-=@79bkY!YhuAX#x0ffjy>h$T`qirj?x_upO$Y#; zp6tPk&8^A7MXypOP7>uh;3oQ3kP;m+Yc)JjpB5Fap?uq2S4O9wz%$X=M6Nvtw+u`U z&iF2=LYly*FlV4p&_2LiIg5I0w`8)Lw9v83HDxh#+7ByY*vyxz`Qx^P^s%JEFxw5$ zV4SX-OM13(`jL0zPNjfH+wxr8XLsXR9=^W-q8!GSo!L{t74kq4 zB8JKs1t6J-nmXMzv_eq0fWJUBidQ6`&7MOFZ|Krh>r%Hrw{7HkjP3YLwok@(yH_8& z0+Qo(P=1n-OSD)0`*IW4A6He~<^_hharyn2_kZzhCDoMb)^Ct)M!pLrDpb@t6OFtc z7Iu}NOA9NHW61AS&F134|=zByiZZYBpIa?(~ z+a4Y%uQL?VDMWIGMusl}?L)w90?!BM0cJ&r0Pq8aN@Adc;6R>>^$EpB(^^Q2QX&|^ z3LPF~#PjZrg;A#hAh3=ALq>(#Co*uR&0gUC(Aj>(=n{9m>>cE|{B&o_fJ$+vO6gJs z(msm75KBS*d@_JFF247_e?0W;0V4<2EL_O)1g#-o9dLa2{kV{LVZHt>^tUtrj8ziM zBZ%u0B$TB<&~g|0j>E459fH3P2pV=*dtY)T#6`8EIi=@~MVsrBcz$ib7!BOT`FqKX zVCyr)#y7~1lkZL8Pr9icdIP2Z*UA>r$K~%0`5sGvFqivnG;kN?5fX#hNh~Z%^aVgV z01_t*WXmKu0(ZOZzzb=!mVJ2F5DtGNeCBx8Y6HP02@Rz*z-VXfAev6pD&!<7>y-HT zCA1N$Z6-lv>D~s{sh>uGSq|toCMc!kEHvs>&uP98U>8B4PF&v_T4q%^7t~xcY!tH8 zqposp?&WyDM4aLJ)G7-uw-_KpN;Y<{+k{?G^5%5zq4W_rN0Y-QL7xI zq|c@cgxpX!WKKu)0Y+g?q|00%zJ=4nh|Of1l49sriRU&gJ*I|+5ZD(oB_%~)X<5-g z%2b<{d}R0JEI~Uxe7=3;{OsfkADUf1)O>?Gt$!s1N_(4nDg)G)TPxwmYcrL?dzGP3 zqu%I12T(|r1XN6dpd|jPf(eq3QpLmt7wP+Vq0ngW2gC?Ak!F|XLy=%m#nUB@`^f=A za+^=Zs5=G>`>Gv3dE~mjrrd{Z0sl?cNr7-`E#-g5qaw(nAe87+P{3LyI7-hGJ6Wkv z`a|Cb3gSAR70}1TA7ms*q!89v8KNYPAOd_9yEAG@5hCwyuQxq?QcG!33iT}~BSeQ# z(7+lV=8LC<SaqQ zII{HZW}rD*=1iat$=jht|EW@@`+Cx_>8pZ~04-=vbGwaMJOCMmc z*5uVg3qg1U0y zAMMm6Z5Fk2Ja&mFpJp}Ayp9J&JmxSv`w-J1WuI-fkm}VPOFqx-Zg2uIDJ|vvX&{AL z(UB18?50xp{butAt%&+T|5`}@zFqT`z+n^!h0M~?tOnw8kh|LhUwmFGGmzv_t+RYrxb>8x>En;V|d>F7539^3qQI~VF+qs6-8 zHSTXPRke1lPU8zbc=&rG=HN2gJTVtu?PF|9jtkWU&y!udnx$=My>CJ8sq)o(sffR* zqB%Zxo;2)BH$!V@u3_hVZ^8AHSzJ_79_c#jyE;S^-Ba~S)~P+<#$W!d?(H3m&!y^X z&D5c+doXjAiaM9i`|Q$3)2-2KkW`em;l;N$YaXb>qpsRIRJpioKRU16AQP-@*7_() zuQ!3|Eafu7RtDqnQ57;Gg{xZV_5zUsb<-L#$#Q^C+2-}fCb6;pJ3f$_$+eP}qEkU^ zfh&e)>^H~1b^~3oYetg9c(ga-=z4W^JZaY0ono(x6Ai*o+z`Asi~-M<_2wSHy?Itf z5^m@G03Xbsc9ptNp_KuG2VNav~ zn8Mw8umggoSTw(-{)&)d)|(lR_WyB4%#9?WSN26*`VAMP9zlv11XF-X6_kI%gdcve zn^(VE1acbSFn$SZ#zJ^vq z0m`j*xnq_oR01b7W!=3z69cb-2?cav3;;mDac||IHw(yp7eaF~rH%S|Wuo=iKtN=j z=#kat-67cD_Mp1(r;)q99jCtD_bL>B-DiGcTpx= zO~YbQ6X@uklYomFxo~`XYGLFBi~gJGNpvpd){F zDV8$KgBsi<7?8rp0&r*@`K9Cu6xb$uD6T(yw~4E}t9xd6@~E;(;^7r8*eA1%8L8cW zI>O$}WD2XQ2)-uXZnmtRj99L@05bNPa{N8IJ3@*X9}bc0`z$EMdOBoSA+NZt~dwB1>)>TLu}H}Vq< z=zTTXgcZLP@BUo-u;3^&NMFPqXdR_AXu`bs@e!H)OlTXo2tT&dPGR3{Cp#v*^p3!1e^4sh3d2 z&e-44`ySM9YHmi$uJvg+bI^3zqZLlq>7@or8}~_3J}@o1x+nvK+R#rsXPfG9)rB~|r-SYqNAzC( zMXLL^a(RXi^6yMd-%zV%=3;l9!aVyNWbT<;3VD?847R<2MDIS`LkVdV#rk!r6$1XH(|VsLZ;_+T;EJ=(d>zTti* z$J;aA!HfmtZg`jrIT@53F^H?I5l}s;QDb6OJljl4_j2&o)-KOWBOhD0UIPrGz#=FO;%(5PffIi-Bd zrQ!ZcuPb-{YA1Ksd5;0DGkxI9Rdlo%oJf9n=kB9R}URtjpt=Fni= z0nqz#os+QaE#ssr2~N-Q^07Rgb^g&m<{X9B+9@O6Donz$f2*{Msfe*_ba{%j+`uYke7 zfX!!7+FB|*<*epnZ$JIC``Z*ubTE@?)MK5(Vv@erUZ6&i7uLJ(R%f+kO*6AMwdc3? z$&`c?TZ_Jggu1QAvE^-Ijp5GKrEa=7&tST-%(H`|!{X`RC)8jPF<+5BbOFPpTqeh( zr!Gmq^EH-lK0CA6yhS^}s%0<^zTx7TT4qGnFF@#wnRZ>r|yp8qGjH*(p?SP~niTq<**WKxDr{JG$A{KZ5@-eNKY3_3= zKtblR)}8n+;2q79EHYyYH68!zdTGZ~lxsHMQzV z*;O7IwQlMD-Ugwse0_7+Fs&mkv376S`H;36ZK&*-o}~w1w69$LX4tpO4g-H|}apSusVmcrWcxfGc#3~_Cg|Jo`_)<<{0%d=%xn;CGn%I)c+30T6v&-l7v)A&{)GXky zce7Jak)gy>UF<~&$Be=H`9+MToqN;zn)TEB_s5%^dTZItv}= z!Cm2Lazz*Y$rhX*->X$)#P|iLX3e(QIqZ5 zL6g|;`xF3?@sK)ALn(vgdE+J80~*EV4|Bn5fHpNKcaDs=UD7TLg=f$rA9h?pJ&kNOPvU z`l9IBBY9)LKZ>t!Sja7bBCFQ>lE3`pJa=HcBX)ZBw2VJnZ6SKwW@b zuZ=lO+pn`LWA{jIGWf`%2My2>4_31y{Xf=OSR1p9*)VYjtdMu`N=%n~Z!%M7=MRw5 zk8~22SVxdHlnJo$ay0%a0kz`YzknNYj?J=KsE)i^hE8|pSkq5?lpQUI`esSyOyinV z=eEQJs?W_kJS@_0WBw~iKd6~*Oj2v0Z{%oBcK+0+`4Gi==_%LlvMJVl7yBYN(=}=- z^=r1gN87+mo1BPTTtE_vn_S#^Gp|+|>3SlG8@YL)wF*c`FWh+hr?u4>JsEwnDQf>a znv&PY7*LRWm(9|6Pq$7jV6p~!kDy;iIFY*$1%1R>{J~ExeQaZu_C2c9=6IVVvE-6m zPPV9n&q6=vnt4dysNj%E!eSd44wPf4<(c}aAcQ@(sH}*{Erp(rBnC|#s>&Q~aSUq1 z)Y?G|GH_IsWu3g;rC|LDjZu~mkn_Ix~kN|64Ggv66(z@exlZ+a@5a;93 z`r)6B)77~K&teE1`P`FcXM;1RbJ8T=NnF#26Gje)cEW(nws)A(+n`T`YnTp*p5RDn z_eZz4h5#D**4lBOGEOFW-??&hF~eSuc>$>%!F`L7i>w(EjgsjUM!kSIgw4;2L!T=* z&lCZfCrMnakybH1cTaglx!ME+b(}hvxw{v+3s976Twl2^-@4-xXR#?Lq=y>wsna&b9XKI34HS#^-%}Z-_O^wJ49>B3a&`;dx0s@hSpYL21XIyNRmC$UN{__4gf% zvLDjbH*lRuVH+^7r99?t^RE_bj~%8pN_s|wU3s|J*W3VrjnxnE$S%?*`PgDGpqm3HbQv7eQ=5eyCtZcA!Ig6 zzD7#nEw!Ohv4x^!WmlZ~_D ztP;KR=$#%9n_!pD7{K}s{?%tD-AY}bOYrg%KbL>=;%nzd9cKYV(Iz8JawsiCk@v2S zWE*ayBwIfP&Znp*w$@&AwKKD1Vk*RSsNywH6@Z#^`;gX{Ox(UOmi;>~R$|ngqr}l? zob6E~Kx+Hvi)k7x-RCKEaG2ncl1t;A_P&me=;g+bpv9~Y zCz?Z5hYsQxLl_Lp{9LwIHE+OIWKK}G*Jf+EriFkmd3Q$5%^YPZd!94}DL>fSwsz0- z5c&*P!UpIFcT-vop4&m`FXVlpFC-Zx%ZOWc>?;gKM27k<7bfJIfhWaG{(FpzwD0sl zzcrTKU(4TP+~n?29(#^5h+3h^LKtQ-b7+hEgWXwRfv6d%lM-3|2eoI~Jg7uaS36xa z){zjt83_doW(BJQo8Q*_Vf)j`5P<P^b&`@f9*)U4nVVV+j39{M)TWbhsP`~8(N`{%o#F`WHOksQ-!JkTqWY8bzF5F4rb^qx8r3;REyv8@iAM& zKK8CW^EU@|zXaC;!dlfo$QN?i7IjP7SQDY3gHde&mlHcF-$BLfM*r{^;*y7-Y}aM) zd0UG(=FqNnG6P?05UU#H`?Jb;WlK%Vv){P;uOjy?SwqCBfBqwK&Y=;SM9@ z24I^_z-s2n`th2@%+h?1ud!Kw&A_zl@^gtn7PpB}{57w04IiA9xL#r7vb~P`I>TrD z?#%7Liq`O!D%Hwqz`16=VG)mlq4>D>MXunYt#XgM{-K{H+_xX}${-b^rLwbODhSGjV`ed|ialHYA&G2bX)z5d@o(R`yCOUhV95 zH49z__TV9qz&nrsNBr$&G5z-6nbqA@M2OoWcuPPfyw zlc;+#NQum+yzV7}=6Pzy|0Qa&o(Zq|lxudt@5lcJd%vqkubra;#$+u=n!nrY3UC}> z52%XtjL2UdES3iY^<9ZyYCbLi7qdJ5(s@a@`?)Q81|L{)9ybeR#Y`zpjTEf`zFa$1 zw>m8|y`!F7J5D^%=0pTdHj3W!`|vwi-O+Jt3~6!xjegJXEnWSgLgjDhVJXg zmyZV~!V=$^Tts#IY_PiD`NI+jW>Gb}G;87Dj{~i<@J~zyTY6hVeE6;N_KUv1jDs#*4T&1OvG^ zA2#O;7OMx#ynEnDvdlRg;qtz9{j{-gS`N{`)C4TqM|O%Y8)s$Dfs#|4Zv~&Kw5D$d z#7vhvI$@%I_@5#|7FHGZQeE)1g;6>1b&pMZPW_duv^6*QdD0!lBRTP$4mvNK#;QNo-{;sS^HLRJW4jKsv)Il?UYB{@zZ~W+vN@t4 zl5#>)o&tZIg8p!($E2Y(Id^9n8zyyNOzUski{?h~%E^z>3LW9>9x!CbbiqRDEHvQR zkSBc+EZ+TcSiH;M$%&m5n8_{Q^xGHNJDtL(JaH$GMdn^+;>_`v;&Blv^?rDsHL3n> z^>p`^uC{p7=ev;W@^VOW5knHdyM#kRNGV1t|@b&{R_FcP47Xw}0dQE{LJC7Oa#xqd^h#@3*h_54?e*ZUK6 z#vXnU?1RKX=w1+`p4-Pi_&B%ixS#+(ta%U?h*;75(c5O8@icH+QAIE`!td+f`<>cy zJnn4X^%@YTrOQ&i*5JPTg5T_Z22;J>LNFoepUXxU=%YA64LB-o$%6@WZ_n6pF4Sic zvOU;)>f|flI=-u4M$?%a+w3l(gP`vL1qJ+1z?olU*+X?%`R_{KT?n*z{QE~r`9UwE?KLFV z&X#HiJmXnxv+CdNT=`dh_NNpE9IiVCh~7_z#8`WgbgghM+ie%FV2=d zfm+RDE^{)$6X61U*Iv;-;L@Fo9$oy$#727RGv%J=Om}7kfuKS^_KB~xPBKU$dQ=0r zG_pQbM)>+3kgQ4jcFXx%tJopxW~*&CtNW`!Kx>;%h44B5kN8HK(gPB?udgh{WPIA7 z+VKb=bUcjkg+^O1>xb!1qAM-QL-#ZZGEoQTi@40OK0BM~!R41r?|E;Tuq=#?O{qjd zC~xKdE6H%~PpO93OFv@@pI_9$y9+#P|IS~jq^z`&aJvcm=!C_^|4PNbPwAxepT8KP zyxQLxQH*JRGltaVxiRYQHfdF0NT?G_QH-aMm+aeeR~4W1-cHF|t)$$o%_ zk6jP*S>KR4Gmwi;4dWFBDRHg|@^Xym?*uFl@wU#0N-^ zAH^j!b7vjW>FJykkZ1qkQiGy2XZBPlrT1A5^b`-|bx+YZ#OOazF&H1FJaVu_=mA7w z1XW|c%?mlql{OqTb4gC&3mL0b>@b+$8(tu~cn^`&6lUa6!Aa|=vgQ?KD9uetSsj~L z9}XY@E*d-WSwyBbCt~T?+LY?X*g)bodg}$2ZQ(41Ecny(A0)d7{&XmA0ox7?BU7mM z?$mTx43JD;w{l0r=@lADJ)Xy-&$EMWhb?xEv64%%B>*l_g@5mz=sj}_Rw{tD zsO<77Ou9@jW5-+}G?loH-edO1ZFJMgR=nXq)Y;#y-Nrq8oZH<+;y1>er zyUk)IgC!@jZ+WBuv28lhu7v&Eq|bZnV*}tA`Wa@{7u^`%?Ku$af8~H|iek!*0(&Rx z^#4ZMOu)b_z`($Mx?9_sF&UXU+S@xiF!@+9NSipg{y*m0M9fT_+{|4VmF-O2EF4|z z)y!QytWC{b8C}d>9o=32duL{6cjX7GuQq*uDkFM>CQ=N8Ch^-z6!(l&!dg`Vy%`+EK6!_O!<0HxP;HL+nHGZ@d6^DQPe?)$sY0r$yME%0O3=M17lGrbCMB=d#AfW{SE_sFTV4{;wMeStL zP*~h}^-4CRLkeuv!e5eXFQNHNj=XAMiiDy4?MO*z>W4dN&yP{L9^jpfNss|UgX-X? z2hsh$*id&Lq4d3S?bd*^2*_lH^a(FkmdNN^0aF)!a-`lqvIYbt1PX7lq;7CxGS1uZ zfS7+-dM^wX=D)s)D;i17#l1sppQ+QZHqmX+J@9nRh^T_vWZ|xjy|B#A5x7&Bv1IFg zvV+Q5cJbzUw1ID`BIqZCQd3v(Me0#jK zYlLE3Lge6kyO}JS#R@HF3XwZxodK3IGSfCnXqs zygqvlGPORp+)~~Bx%+J$+zNn!s>-{CRQi&Tnh>g2kCR0;5wzDhlv2K!8(s$9pEjD% zkUvS?5hja9z<(uvav6ABtYackgvV#qK^{yQlTWe%pK~v~SGB>6Kd^~IGU7ePKe;mw z@yq`-AwK{6%1|`g0|}lK=EB?B+S|s<)(QisyaLnY3fg7I6NgwHh)S*qP8e?Xc&JY? zJ~M{(I{I3Xyx=2B<*(h%yW>sc8S(qNVf|#(j?sGjcDo|3omcnPYGjD*0)qMx!<*&$ z{laS_IBnL5))T^kFHqmpU_>9YXQOIU^5e(W3X&G4P}vT-=CYr@zc)mW3GAsHj9U`K z@gmNt60BDyI6Z!M8YDNL_6wAOW8zr2&uDJI#ahi#)7zKeMD0g?zw#0tqw%z=%0z7IGOWlsY%j-0vWZalay) ziHO#2xU?>ar<62@usWC~-sobje?_0K?0dY}bPna4|I#Ks<%w5JosR&kSIq=~LF?!s z{Uy1(?=h4TyUVZG>I1mhNRvGdkU{{V*wL0dz``TB7gmr|(NTms^D)S%;gHIEFtrIJ z`!O;X%rD_b!skfmV<5#|{lKr5-SA8&(9(yB%kfI;yi*~}+)Kv-bm-KGn8RTLC4PBV z@cueRV0@H><1mX2CS~e$*?=+gtfAL)1d?FuXF_r1lxo+>7FfjPO!`u6ts=S!ix zlU<L=dX*eF}FJSAC@h#W7o>Wbi|CRYr{ zsw!V*JvQBERtDs-&DE~&Y1Am zE*Lf>UA*4gsdZ%~ruqr^3|=+!LqTx0YV!SD>s52IzBuMNY7BcS3ujEhdd`sf*suO; zkqr%=)lU27Td?osG!9|IBj4d9Jn7KBI3b+pmW(+DA;Pb#VaOR-%2PMML?U(>5Kt^! zP|OkoZ_k;bir|L+)giM9^9}GqznCnq&8!i&r|~F1!6rt2lNlyC;9JH1gbm=KSvcbJ z=J;zQCW!t`?WW?U0yd~!Ihu=r64gY+L4H=?)Ei4+w)h10%$rFd5W>YO6M|JzQ5rWf z6zc4i-iJ|a_GI1_LcmCPHs+Lvct2Dzh!7DuNT1LL&V`3p9Q~)n9vO!f^%(AgtpeB| zXzn||qyurE9ON3|D-jl0L1i>t)=cYY7#P=10GZ(4Z*hOC38T=`9D^Ou!eg#$rBH5^k#?S0)xdb(p%uZO4MY;`8-_ti zi@T2rK?Cb0liE(-v5fe!%SrxNnc*}#%(=P$xg?5)ljcU%LB34e?#M3hdbOhwbpFSE zliHq7h_fXwbM%RefZMc6=`*m|8QcrX(z^JCV=UF4O6F&~%{qD1lI%XBO9- z!&NxZ1|qvS7(mZ3#Wtmw_1~=a@^Di>p{ssWU6)f&^z&4R>t+?t0Qv>{3VcNn_V8e2 zg~*2&w&$DjE!CtwU&o7!6z+^ee|G}op~TWA#(KmL`l}p&+uZC-O;$XIhG9TNCXEJt zhlXZaQVU+SX959LQ9$}}_hS?F?vA^tUzpH9ZpcY^Fkh$;6(g3f3~25ym=hWNNh+ZH zj=luxX7UZs>gtSSO1n#(+~6wyQHOXA<3*)P=)^A73mWF8mpL2VV-nF|+8^(z!qW4+# z+-9;jYZ=7x8Ii0y3!oD;ACR37om3}D%pVtsj1Ox`8)Fk~JXkOq1)s$owa#D>r`Id|}O9;a@>`chkx~B=d{4f{AEMTUpmy6bax)bFi_o3J|MgM&8e8hcF)AOKv-* zkGH?Ma?0lFyjrseLzr?z(F7QUgUC+>$n0;E>>*E0Qj~oN48qeQS|7|-&k+?M@X(2) z;ZV1~?bb*#p`W_bU^c zu+y`4@|gI`Sqc|NSybSQ(&D%AKgb5KJGV+F=R7bL164!S9?(C&lIe-gd~Bpn7GQTt zRmd!IzO)_}<7@Mb7C$uQ0!xZIcblUjD3FWfh$9T3gVu&YK`;leN$D8;-j?N`N^JKu zAk2t>(HKcF=Hc+P7}tPCiF;c^EWS)xmJcX3q@4nl?+{#5<0F-0|Df~@qV?DWY2*Zv z&=T{aMcUXFp=Qt|6NbgmYkw{*B>kL_%xHLrADTK4VK zBdwU_O*){}m`5w{*b!nzf+*-G#&!oHKvl9v0CJ?l=v}7h0&Q@_1h-gbMS45!<|IgP zL_~6E6#BF%%XE_4*Kx7|DDZSt@J7?Ms|Z06vH?LTT5X8mP9}kV+B9SR3(^8GbZ;fw z^Fra}m%>0KgyFReya81 zIC(8B>Ps6t8zM3r?;zADg81o2@yh?A!t$OS_hTi~H|?raqlE_T!}fJqKYjgt zrq-Fgsj(2adz&LFbcu^SpO$q-&M;jbzbslaAgEKFl_JhdkaiC6nGv{fJB@1h<-l%w zW1LBE`BX8ktCx&3;+ily-Bau!SDN+*-B}VjE21=>J?JYfz3I11^wj1$;%xNR_}?L9 zocPWj8}t%0CTeT!EIL(mHI%>Cw+#|{q--Yd^@__?EN$z*F1E=9Aqi=s600>Zk(4VS zqSY#}(!s~t`vtr$kj|2Fs*U&}%Xy0%Nr!8Hs)iLGtZnhtURz~o8(jNw*nh-Clz3PD z`RQdYs?_RcC=(cZb@bwT4dZ6XtkG{? zgGR<8YDo&(hr%!kq53UN^{OqdZBf0JtmZD`Uz<3Z1lHoYfM9WvHHEsUA*UKEfrS&1 zM^^TET-u}aeFbyq8T}>;i-4Eo9|BSeN+fgmn<0dr>U2d^q5^f1{dRG`-Z5-r#K`qhVG_$he>rY-uPKx)#p1EBW!y2cv#-(J2|-CqHA;Xesnw;BuuUk z1=mKLoHRhZ*m6x|mA|O=q=)Y_tToKle|N6ul$qDb z+jzMu(8?if%5tA+^}lqOsS4w|vR#{@`52!Q{d&~h3s*o)RJa(;)9f)4a5~U$d5>8^ zr7-u^Jxa3J0^ECj6H+pMmz)o~IuTd3oi;`wfYEM~k_Sxp&ebo?@CfmTIBZ>Jl#C!( zZ-jn@yQ}>=VaDlUckMw%KiTc$#Z#8JBv8brM#Gat0sPX?fVa^-&kRop&WL1w6&l?AY@)&IfK!+kYz#MHoA^tjE%bR5D% z?_~kQrh2FH-76{%8TaHW$B3HkFu9eYb>nFNOpb~25}1ok-ni^9K6;S1#V>&M-R2LS zy{39y^JA5Kc)}N9iUbbnQ^T!n8_A4(Io-r`m*1e?KDUFdBn$8Flb*oq`J>#=Ye>hL zo#lmSJzu>m!w(RxtvEQwT0b+_eRxO4c2*6y@**AfkXh|@Kq#+Pcr<#{@ms8)**NA3 zoOW}BNemRaZSy1s=T{d&0vtc2h~@BoW#xczpt|~sGEKR4fH@RHkiV5jbsDX&rH%FY zHR`%6^*>9mE5(Z#0XD`r$+qBMH2LGgala8LzFqz{o2XA^tybU)%9WR#gZKEA#)>~6 z5x6#xO!OgvYnBdcLKr3LZy_=?$A$P!Or$8k+OkwEYhBGkH930`dn9?sOm%_-`C_eH z1lF{iTOsC|5p!5htHz2|ZZ8&)%Pk=oSmh4{^5|L25OS=kRJ0ABbbv}p*N@T=o}*TY zEsc00tUbIs8(VdbjT7?DCzeeQ1VD`v-gcsMuwmyP5>ztij(IXiR(OH|mCMDT7iTta zebn3r!x*m-(&1ErF4<3yKSQP~u_8daHp=2SLoeq#AV4`oi*B+PX`;OFYIWO6O-hDw z348BBW|JCoT}AFl7OUl0->rHtfSj(_txGYB`fdGM4FD~?t<->JdM_l` zQRIl~%Zz{UsJ!iTf5y9Vq2jd3+c-P)wXg1qkfpWEfjF7$R;t3}FRCpqdpY&zTRF>D zYTi?-5$kSex1t#Bi7s#*fUPCOEN_k0#NX;Q$a@whT!mR3;A9?Ig=y!P_`thP{o7`# zhuSG}w7)4x<35T=MY2SXjx;AZNPn0-4Rx5U38)y3Ffq&ql9BcMK`cK#KRp8}F`Xs% z%=*w0g?PTP+|=V#qg0`*b1dybN3+qZss|_R3wgGG(jgk@;;edowGIPcFCcH5-qzn> zJMYsb)|L(1>1^1tzRpS}?ehVd(?IbonKhd>@ zX2Ty7;b`8qx1WPCd=vch?^NCdLfwp;VV$I1fA1dj05b>N*R+U6$dsz^4@!E3ns|_g z@;IQd6FGeB2zW6ceL(s8&M8f&KFS9of`-I zV|cpDTj=gsGnsb3MLq3eXg*~*0+B<1?eRQ#ef*8Xt(y*l;WeO8*QKWiS7aqLG z&aDG|d2uh!*rPrzQ3gHjtJ+Xe%4#~k?XV<21u0O$vt{xGw%VP(YmvYd-QRWBt-XuI zg|A~dBJPr#wqsRQ1B8$P<;9KN1Uz{K>#-x4sbtI(BF|FUR6V|*vv<>wNQt!4N+dZ`#>MNtI zswRFwRCF4+_vD4WC~Ae~ zwm8#g)XQ}-fK|hpE*%X!O_1J7z{UEJ1vOhNI|qk$ouGlu2aljGb+0%ckcb7x1((l& zoNm#SwUXP%YjZz)A%&pwPSf>RZwjdWIp=Nn-1D)|#!F@o?>cT5q(osBi=)bW%u8&g zUzDbcv$sa5AG+o5R`<$Q5FeMN0r~9T+4uOU+2OF$`g2@CRM1M`$YUIgUe*dTtofY2}(`NE=5R|NRFSv^(rCR-g7{061Gm| zZ@l{T>f&cvSP+Tku_5Wy`_xLy;8kdg*IJC{4=NZhnuK2tmost9Ap$U^^*##r(0=$m zk2PQqH5Bpj_arRCyX>>t@ecu(A^~^saK;;RnjsuG%$&#yJ_%qH!-1QY1^InDd~;*l zzhQh~wOyBIw-cZ!Z(F#6o>if$m-UPYwW-x?=mmw0-8#0maX9T+a3%rmio_LNy5KY+ z4o*Ugg1NH*C!Yb0C8VIcBlT^oJOzSA&1sZsrUv?NPp&sTMyK_0aurRV7AZdskSsw@ zgez=Sf3>CjDJ0dePT(q#v|LvW>{tcb??>SIsk_&2j@I(icpc2i4=id>oBeHq{MidV z)Ouc1maT4)Ri={rJX>dC^)CRTsZ3hi! z;;wKx)Fs7NRp0wx()N@p4K%J&lo$mZnP*VF0cn6;cvB<%U06+`N0pnxr?Q_V76}TD z`MnezR*|Durh^Lh`&!wlNKD@kNK%^k$=82&2Fx2v(a;`)TYCXP|GX3irlVB)4vzA^ zcJ}aEnvPvxUJ}-zurB0Y5K#yGMXtVYquHv9A(f_yr}^diOTo0E3h}!-MqL+H2T_c= zvezeNxf+=P?UwRnYZ22p`x8`|#!3nTCbkRkVwX#$-CTAxrK%C}(S8}jk)wF3Tk9uV z?xNG*=x^yO@4LDafU}+l_*Fisz43T>N4Bm*3M{$u2p=$r1lQyJvTHC9P;h* z#XCgIXCGS&C?{#ba7yxY#VJtQa`nzm$@k9sop65<$q^+`G*YWFua^)_m#l6{|%Mr1R-k@1t&;3fjp?&18!||H-Z1>{< z*irfh9i~o9>G`d(@k(-9Ypx8>xW>ODjzdT3v1C-{58NnYWpqCN49)eWzV%JYChb{G zMwZ_fV3LbTd;;MZm{T`)<=wfkVPy>MJ5TN3D%~n)7qhp(wk{y>EY#(ynq30wou?HH zDSHn85$9@@(s8u;t2QO0rK5MMW>^0wSv(2T7UcAW4ShAUHWqD(b7Na~H#@Z?Fh`=* z?a9}*<0T@IO9~Q&ar`O}iQrl8MH7 zv{%6mQ}N{AeTl%<(7rWqo$uerJf1oXzdTRHFJ%jUsx{FOp>~}h(J6_mwx4vJIPO@N zSYO^Jv|`(~DDeb98h$nc6}e6Qay3J+tM$yE!G^y;dN`)HnijkP?&dx zX<6-}uneCkrDp^ogmI=4#{L$sAdk(W#oel&uU$dvF#o1U!Ct3lL4q(6IjujdP-Sr8 z;o9Z>cP{JVV0H!eW~?AtT}gk*Nxj?WAm?Ys^8f&TZ?ff|O_(*-f%o{n@WE_4T(K80 zH`f}A+ltzy6VeLTZl3zKLU5nLkFUk&HwQ+?GBjlD?%alXV?zTyi?9~vFHy$m!&AUz z8BLiv`f#O$!J*Si<4Siyyc*~l8kHl5FY$@T?Kkzw3TX$0po{kl>MXMDio~@k&~IR* z*qP2m#UkY3(}gA+B1dVZ9^>Wgw}}R&O@1x1N8`<7jOq?fvx`#XZB+*e!c1|Ip?|;u z$1_0~+!o|8hA`zt;fox2tervkW!K!!?oL2bCZKav{0soe62bF@4vSMQgM*7#v)_F_Vqz+*4#)5{AjzOp* zKZ9a>gCWO67k7-s_>(1 z(J}bq8gh4na4?HK@^$hrp1rU6f1j_mgMU-(!DxmLJA`d->m9|^ZlqenYGl84=%J7X zKl%t~R83Hr#u|6!_g?ch*E*tN_>dI3tUT|1v&mJe2iBx2>cn9=S`?XHP(xbDwFrID zjx~$xtu19D&epCgUqDT%eWDLF=d&RFtx?P zT)W<66}}79&nFMh(-)gDU&W5!BO~P{~_e?ND7)DX$!i3p&1OslXB>6-qr} zhIUP&RizkS!WM6#@6?31|N3S}${dstMBS{%~lp_ims^pQ;6 zXM{R+GTd1Rj@kX@%4eA?c(-W^cwvqkwq&XN;{9^3Vq+5A0x;{T1tz&KSM`v!mU;w%X;4@;@23KTb%6 z&tr+pdK}Kin=9^muSZMQHs`8l5f_Rglp|daWEZL8-0{OL2cdFSdS3x>JU2&2*E1ch z4>;%6{!WoB0V~vZ#J(#o-DGG(anVwz?>FBF{LGFUa;RN7gKJeQd8Y>Frc5o?$c%Sw zXR!oca6IP-Sq|#t9_UXCie*&k{2KB0w^jx|$TOYV9jL7&Ttz z(ZX=lSG|Qw)$+=5jW7gv$;_Gy1V6+GoS9-BKyGR7yKR>pCSgZ9UN}HJ{aJ4V8NBVU zLp8WqWM*N8A1v)BulOC4R;hoIiz^Zic@Qbu)WKg~fmvPmwX=Lx0M-FBwA{91(111|c7U9>h#*|7y34Uk)=q7%d4?G@P7E$AXNGL~>QNxMr<( z-zSidgv(WAs~(KU#?O1qXbo7dv;Kxl&~^{$ z4wdwB+6=s)la4wKs?8+C_BRDEMSJQDO`Z^PcN!0-xZ?*484^nt=rjLxUDrjJTOPgQ zR^k3MtWs|+}I0xti`?uQHvcT zAp2}$>m*5mw%r_>78njay}-Z~|Aukhyry#9+;iQsf6h-T?)oCbJH#Na8a_q2p-zM} z_h|aq1j+v*wDesnb)^+(+$}lK?%A@umV@StwBTwk753S^iYEh%p~a4nq9_r(f#a~^ zVe64Ja~$Fj5-J?vvSH%u>~_vAk7wI(hjgD*+jaVyYfH4JYcfd167TvKtCM98w`BP+ zlO-Q6i@#m9jz{lyK2XWTApZ|>)v2ZGdYCLNBFkyTT@2RC=nRTRS)2Q%P_cWw6u8OS zBD9Yor*>pJ)5#;98@J`1#?8Jnqd>L@*M#%V@bGcfSlBww z;)d#@%6;H-bk$uViWbLM=ep$3xmpxk%VjKG($dIPYUvxd508&iU~46}FSL)plbr(C|zD@6>Wzd&n@9^6O=ne#;2N(i|e%WJ;)8jf*VR!+q2(L* z*qSCBnv{&fGB#SN2k-V__TI3LnzmxW8%n2&!hx71tiu1$h%I~&%uwS zm0k+|MnUf{*zUS2@}Hz1vDqLrvog9|urfKIU2#3Fl581NWC2h$(i#b%Fp?7>49qD9 zSePn0t}o471YrHV0bGGuBa0Z(eX<1ss3A`g#dbZ|B8-r3XjRsyXvq?vkIvg55b@T@ z{;r2|e!(+ssjP1)b;v29P{PA3#F!>2o{0MCV{@A}U+I&=*>LbJrVa1`@nOwpHW}hI zWLx^TIQ0(-4z`c8X7^(j3P!4Z-U#n?@iw1P?s&GEXWXLMP*_ zjw%pB*e6;CwV&$&65O85LD7%voch=?gb6Zv`mR3L!y?Pa7+)7r-}4T}&{XoW;W~6j z`tX;^v;o&U!fVP5Cd-opi>2oj(OkH9i|>F7C6%JTd~M!##Tp@LC4-PRX%KnJ5RhamX|~lq{A{NlCc8l{uDEbf?WD@yF-v_KM+y9EIBZaxBdO*-BGh`sXt zZ(U9CtE-o??gAhGe{{9e{}o-0G`0LvGFyo+^2@13;_C9n6*vPPb%YUsg9w-4D_{uc zkpa(m^Z-SQE5eZLUv%p6#mOTA{G1$r!)O}DE2MBqKyYcecyg@>D4#OJ-5AgR3Wl)jY;|Z9l<08X>ga<&A zHC{GiirXnhK{9U7N%s((P9*jtljnAW1067~2E`Hn^l+ErMp@GJHD{yWYEnyq_Kji$ zoJd0Kf5E7Gx$c#ynQCR>_Xd%~mc|uOK+9$WY4u)@%}aBO{LGM6Y#v-4TcG5BR#JLAiaL@cOPI7`A}6Y zGCeZQF={eAnQlAeAeXq@q&B5Iy0a)PNYrM;JGuLlQBKRuGEC9IBkb#3UA>RiBv zs-eCCzN}tj%`xY@bXaKD$CdL8{=$Rib36AO)&=a=?PSvi^B-RA8fPfY9*i92iXR** z8rLncr)UdHTmTo&jfaMPjUx&B=QbnOksy8$SWw7m>5l%M4bK!CK{y;g(Md=g0hy7( zjCY!LfQr0tBLVpU8B_ev+|&Fb@h`8Y#y6`hPt>EaZolD*gvbX0NhF2BmOy?S(jrRD z&WF5@y>P^6ehZTH_?bKhO1y?=X(^P{Iyhc_b5Am-JSbc6Pv$c>fd7|!1mjg zZ0-N;yp5_bafG{fHmeF)S4z>Jl+HR$I9+P1}x zFFub>C`hnNhg`s4A`js9pwAtMj~J-7g{}k|*efr81X-Ve1&D}64ipFG-z*k_3S2=i zj|(h;uVDdHG03k>P7VQfLy%{|fKL>N$Y>@F!t)h2g1t!`w*ZPy+Y813iZ89=jZY?T z0O20UhlmXO8V-=8AGHWF8z)fC<|d{w%)bKIG}rqFhnED;6JM#b7d%j$30l4*;P0P9 zxYsBUXCv}In}AXNrNHu`z2M`LQ(j~Y#|RSLfFuLXWPaLrFM3mbSjHB0CD0kVGOOHq zz8<~T0gw{V>AZ$OJ7 z{KwC+1x^2_5sUPIx5Bcn{U)TIQZH)jf$9PdY&&2b{;VTBaLO7am|8jLvLA@Ly7a(* zb@eDe^6cWZt|cc&k^G1rJRlMvSOF&ufYM@ky-8dIguD?jB|@ER-grMo6^xJ`qzpPE zX#fKux>1O|9%U|F-?L#7Ln$_j)jBCqwqi|vVJh)ApYi$n1X^2i&8 z;?$M|BM__xZ{A4dXsL(@Mkjk|%~;7e5=DZuzI$s&@$k|2b9Kp;{+*- z*&o@{k9HxB#uNhSBLJ`->C=2n56$C4X0nrSeyB5yCGTO1K$7Ap^YKF4^{`WRuf}@x13#Svpf7x$KT^bfuLOP&sTaX{!jC{c5&M+!8vJQCb+jNt*zL5laD7A z^v2Po$GWuunsriAEC^}zPxljzY^O8ljGC=x>7qZ z%!GFbD31-qj|?W#MH(oXnJu`WDJ%9iifY>nSr37wq5X&r*ap26H7vrBLV~QI&Y)JM+1j9BLqTEig(pVvi=SLcT-;WBkgL@U(I4^mBpj z&g_#Fp8)B=r)1ENkO21SG%WYC5dmWvh6ZedY} zDS&0bUM&!230-ltEF=%)77+-Xkwp}Y4Zn{TBadvD#@n9NNYn&87zO+Jsvi0- z3=;pCC((EYPrj_{4#^O7e*^Hv>lBd7Z+Zqdu#0{^=WTUV5H08!m8d%ZfWv<6CYTj! zklHyZ@0-N9wL&mI5JQ=BfIl`|>|0V?=bGD%g&Hb&H#+C{E)XVaLUaK(B`@}`e=g21 z=qYZg&;F_VBK*r$tmOdd8RGJ1h>iW$d`aG89$eaJR=i>voRX+499w{V%!rCs#WFC~Q$s2;f9uzzBgj z5NNox1ePhbBrFsO(;`AZNj|;~kU`ZViyjNNv>!eTau8n&){Bq__cVM~Hiiaf3@{?t zSG-qT-6l*kUFE}@5%(kb3K7e47MUL_hK|XwnNNZ7J4z1O4z?>yS*L(P7HQoI0TNnitBz|9O5$R3a(`+ zT%YOTgK+a*=81A&kk}yqb=L!@YrzO{=~0a7OrIz6qTSqu$w-5-qJkU()Zfex6~l}) zkwoNVa&8MdL|dcy%(siVoVQ{A(D+n#@caUkuO{e)v1t^lc)u(hG5pa56Qn1ia3rvIfS`Po@{m6oJQsYMBuJ zb=RbTzvx;t2wV>4R>|-XBB}!^j>pV$IxGi?q6$RA29Z4xrPwGoKY0k8Nv^iAt_Ui?moGAIvmm8U@d$6P@qN;pvK5sW(*+` zrhV#f`1>zow*Td>jdl;zd>Xa0Vab5{JVRBaKQT;sITf4K&?_Lpmk9)8!z0c=>}+}&AtyZ~nE@FY8^pVv6qxM1TrkEpuW zRF6_Wy@Up$V07$|Mkdyv;^9|_br3aW8Rh6a33*qv14WWP5aj`3)EK@O7E>e)S^cKU zz23ff#;Tyj2Z#yZa<<>GC5(WVeS;n`krLY!1s5qDJHF53)ABF>po7Pz}b zg?8p^V@>v22E<2;6pd~w+U4u3(P%t8>;8EgP@Aw8)<11GK?~7NKG^DYz}eQ0`&S9t zFlKqDWmihbXmJo&)S$wY!?7sCvaS@=Ny{lE+zE-y3mB+2!$D_g%}h#ClCV^;ks~sx zioTvJ{mfAx>HVSq;9w-1M_DjI^vHtv!7O1k2acJU*7t=E!r?R7I8HOsHP!S0{#GE4 zLx0#R^MynYJp#JIzCx1L{iJd^hEfP;IF+^qIs9<2urAFXHk+gpEt#RNW8$3}E?6oY^OF4??P}ZcS@MUjaT-HKv_INSVEyqIt{w5=j(6{0{@Oe2%s;M2?yPew0l`Xy2 z5JnZ;49e)r?WY(TZ@iD-uxa2H!QZcPl3&b5hmn=&FkIF7%yLWfd!hEOFo4of&z_P#kiYq%9*mlDa$ZS!4*-J$y%cK6r`T&|+307{ zH(j-Yw(5|mLN?i$!K9h_KVI# z1btJvTXWU0$ik7@s>wkdEDPu$=p|ZE#!9X?ky_b6Kdn0MtB6p&lxKrwq;YG@P@FeHMvI58z>qF`A zO|wtw^#PA#TQ9M1tUe|$E5BoZ z$kNLq?ufID1`%c4KaZ03^yswA^6s?=B$npC4AjTx{p?O&>8JGNZZ$W3WLDqO(S5@b z(w59H^`cyp`i;Gv2;l<@2o9|Jyvi)-m$8!PnCBqPpt>0SBm}%pTrC%iJO&vVjj$l9 z*^&GwpPLZhv!cNv!AzILKoP#lSJdp@mpQ$*~ z>;1Y;0{-p@Bf$z~_SBdmJ?gXQl$fB#v1yMa%_NZuC!Ix9&{VxsMJm+vW%{L{coD^W zsAgVvI8^nz?N$BE>13jom&`{7rkS5D9GSyIV9||~&TJoDcH)0ZbbX6wl_zJPi=uT;rWvK3>h-d~2EAGu#g6GdmWJn_68FY9+@8Mh0C>NV=*d zaPc;=!khA%Z8`Tz-ze?LkM&QzC>KAy*9=3_(M`yGsFD0TnEQ#K&P)wNLh(68|RB)NC`eq@S>*V1rBI3>q>gIz@aL16vUasjXGFMah$WAouMjnfq)q~O)jqkum^Bk_z$Ehy1*SA z3Anrg`~$4z!1?cFq$~upY?7lNUxgWE^wU20q^thgaG%#v<0;ibQ3EqHb82(t?$ywz zGi|d|48G5L4>VJ&qSL%C=5N1{?_EVK*5$LdRb z6fo(|@>Z0PTIiGTz*lo7m*O#R+t}SDG<~PF{xO`|UQ<=p{?{_7+O3s}eB!2Mz*}*2 zeTd2lRPl4OJG^BYwyQhs4Nt|`sE2@ZpqtAQ7N{Ad1BuD6KCVjkUdA@f0}D3X?1K?bYNWS|C(#u zA`O5@(Dzgbs0K%w%RhwVMIZqO59uu&yudMXk(txIsU7ou#x}U#Ew^IBHa4SK#ob)v z-LCLI2j>zfQEOxxHUb;%GnAXwNkZsy0at06K&zp#QI&d{303q6X8#-!sV!@Gbkh77r#ENTG0{S+65ITq#DjF_lA0t8`E& zskFSytz|rrzC+}PQ}k*{RUh54vg)+^1Jwd?f9DCC;DoKeWkcO!1-dppj7{)QU8OYH znOD;52{{O2@!%~>8y+7EDqB$(rxQM7H4TtVY31a6RF{JnvE6f^Zar++Jo+^ItR$Mi z?PDA=N9)5r<78KFxo$KoXj3~;3paal^4_lgdI%D;%7hPD?uaE^J>i;d7wByE7yqtE z>q}WP*|HYpHR`*+%qKW;3t8B(#~Nn#9K{MGCQ|c<+DadEFS2s@T2AX~H3J(Ye>!Et z(Jr;YBnKJ-pDi@E+;A3p#JHC&x9vpcxSgNLA!{2u=KC2J5potDVzpRp@_Ml}TzBtc zC?iA@r^c2X1RV+8Q8}#CuWT&1yNmPlf5RlD)92i@qO7#aAuhS}h?@lWrO&9>ejEEF z1I0vBwbFbKVl1+ju!l+RbFSsILR@*M$vH}q)-m}~2Y9dCi>y2mnhk3f`a6_6D30QX zM&cayw68oTMS}$SiYvgDe6Jh$8bz+FY%Rl;65`-ARNGC=JrrxHzxb~>Zbr<=TChUg zI=k1Jxe6<>%-RtUU0X>Y#U}qMRPRIQ(`+zyX0vA5$v!VDnr}1)&rIQU3&aa5x-Dlz zvM-?B7ct%->Tk3Ej2TbdsLfFKKIjxH;oVSUx~aH*kfn_yKq;z4_dvHsf+8BNW+v- zj?R8+(^?v?Ed^w`-L=PF`v^SMrzq&^CfXE(Qn!*b*At#0OW%<*fOe4B#Oqn?B`;I% zewX(XVW}+=^R)R8yRx}e-Nctt`P-#6??^?m3g%4&u7q<8QU0jvxUOwO&v9sf0)mUA zaP@QUbxW0fbW~7SG8Nn8^&IkQCVW%i4n?lZ_Rr(vl>mHa>WG1B>g4I6c`m4My}>z@ zk6Xn7Eveo`p)8Dq4{@HusAqq=(R3so>!zk$HYOfJ?NouDs8BVEr&=I zd%e|&tQkAGc=8!pmEBFhCSdu}%Q_M?b!FLlgN{PAeZw`3ys<*FziWu8-Lz%YSzU@J z6bW4G>4t2`E`;tVGB5MjES;HS90CzQWW{QF*u%sJ4|8)A`IWZOu`C&YY=4 zR#{bUpQfv!TcTQT)FIhxvAnx~CI<~hn+b@eDw>gFn{B!}-8M>a2$(oOjLsgROv+*- zur0K=c?jlFIYvHTs~~Y&CXM8wZpN6Zwq_^>J<|1bqH>>D+j95rSbVp3C;xSda(^s) z`Kr6RkKA>u8GSnnHi68iXM5w|u(BVEuk{ShE?0Barp5E4($91Is*%~{*gX!BaoL)+ z*|BG^)B1`9Qff>!GK!T;tNaW3RV@~nueMCi^>`W!yr`g|*%QorI^$Gybi5l;rVftRvlX!VWa3?d0Uy2Ae12dtB*kZ!}m{ zgC#`BzpXxgUD7eeZ(nmWdHH)IvD5f&vB`Qm)r>UxGPAl^R`K4a*<9XrY zW*bSOMfb9#xWl7nD5PVq-4<_pr62Tgg-+%U4zikCn8T)Tqz9_FEKh6+t>yWMV_lDD zIlD)IQORg)e_Xu7pV0in9uB;A=-}@*)IDM+r*5}5g@z7$>&O0d7u5_;7YrWV0lDnF zVXQß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⪻94a# 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

ylax!_{l}Y= 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�eLc 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..749869ca1f8392f69233cf84a9f631f2ef42b45c GIT binary patch literal 142624 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 vwt&MIG*KHVazPT%XwIDoT7lD#f@$ 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 eU*y}*=@fdW!OH$UDi3M1$f4}Q9u1QetwA~qCk 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 R^(ej7J2tE++yeY1{|8g*r!@co literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8f5a3c0ad21c51d5966306bfe3219f850e5da7c GIT binary patch literal 117016 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 Xs<#49JV@hp<%_sqRw=w^0)hA+k@dUK literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..2588ed825d1e6e25715bbdac690e9836adac76a7 GIT binary patch literal 75040 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..7cdce97ef83f922fa0699a17ac73ad774f589df5 GIT binary patch literal 24864 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 J#~v0D{}1$JJaGU3 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e223464aa47ece29dbeef53d1a2353c908248ba GIT binary patch literal 28448 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�|}7UK8-#1_Fg18KLZVg?7%Mnczw3oc}F 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 z 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..4dfb1d3fdad10060aa3105202ef238182b594b72 GIT binary patch literal 32544 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

eJU#(k~s;ooN;{)A?o4 zluWaXQ5e_Qopze*0(IhwD1YB7CWK&2)>^0k*tQog27pk26|2n;)XpaG>XJuk${;zU+KcEd! zBqh8k5-fHe_T$snqUo!@3M5HKZ3kT}1d@<`=wiKGUHDNXj$Xc|QIu#h{MWs|5Juwl zRTv5OqxD}3BN1y`;w{~L`ceL*^x1gZqRpjR%*tn5FTN%ny&}@Q{Zn5ceI#0W{8aS0 zSr1>g_axVx*|u?X%lqoCIKMz~BX6#geE*-mD=zlVlwX#3(az3({k;(7&mr%_lr8gh z16(=X4svJr99wXD!At9T(0=4NiG*{Hf( z*kR$}gK6uv#}W>XZjI`E+k0$&WbkO&RH98_;-=X1fRjMMF55G`&M`lW4+NrCT z%CC0MTiDYyezwHJP)@$KIJsf3*C=Mqizeh@J4tLy_PDo{DalXXZJWCD?E}_)avU>h zd-{cPi3*z|ou@C{;T~XJ(&#=0l$ebu| z@VeI2PfzRZ*$R&a{lojVH|Fjyci439%1C?nN15*p3pWpsMsFP9n7KZTob$S1nW@?t ztv$g9ci(fGkmoh~cIov~{w>r8fpym&ptT<_wz>C99}D&DC>k|#tZDU?AQ57>bcvT` zL$`#U`pwGumZQY08mt;`gs*hsJ$`!f{yZP`NSO_C|SNgxVoYEU?osphy=j@Pz(;XdKD^>M8&acc(GDK>EJUivqbRI1pB3AdOC8ohhv*@yEJ85 zUFVMV*ZVfrNVJ#O+p@xP9S`mB+Zw4D`sb?YoMM>|=61qe(XC!@+PqFoztDnSCRV5m zH{98qmG|-D+O6|Ks_W+o|G*op6ae&w; z>8~&a^sjhPz$E6itv*H-_)*kM+U?N!>+GcibT(?Lk}qtHuV>Tc(DXh50z#&w^rvWg zJDUC&O|KCq#2$OQx|q3ZMm<@Fn{N`KmdCyk>1LpK(|0>pak}dR6n;VRUtkK~7aV|P zU2A5)A@q)ItyI>%WamcSMyp+CkYbkg@bTGU8T#Clg@OtR3kxhR=hWP3w=dtj?KCAf z%t*d1{;|=`Q)-ztGuBPhO*6*dd~aV$)0f&wx@U6R(W~#3qWmA#e+C9AON3RKF0M9a zoPJjJ|WW%k2FRY8Vh!Jat?pu)JjCp& zLH=4(_28G);m2m#?XWVkY1$Vx>2Mo;8e^VP1G{BgY=)(-q;$C4%yq113b+-#MFfKU EANW2tivR!s literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..b3014b4312b52aa60a84ae81aa5bdf504d4e301b GIT binary patch literal 28960 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 H5aj;==16TR literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bfe3999467c31c5badf5b25b3476dc481932e68c GIT binary patch literal 28448 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

q{f;COFk@I5$*a+lmPmpSucXq5?oj;`nz!#| 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 G5&sX2G{|WH literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8bc729b20a2d8d4a139566b7cc36e8f858a5b2ab GIT binary patch literal 25368 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 G0{K6Y@2CL) literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bbd807b0279bf8aedb2e7d18f8e684b76a618f88 GIT binary patch literal 28960 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 z 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8c37afd7442c4458f6d9e71e251141051e14cfa4 GIT binary patch literal 25376 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bb6041d8466c31e8be152e6767dae2ef50d5a630 GIT binary patch literal 28952 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 CKiK^M literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..7da202c984f9707e3f2d5e4ee00266a719095bbc GIT binary patch literal 34072 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..dc0f16e74c1fc90a94c96ba6fe194c59f4260a35 GIT binary patch literal 33048 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 DSt-8r literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..23c112697abe066bf746465d873069d77dd1f49c GIT binary patch literal 32544 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..99d34e23fc8c22344d7ec8d4927735cfdf73444e GIT binary patch literal 25376 zcmeHv2|QF^|Not_6A6_p8Cy||JJwWWkL*jRER8W3%#6lZOEHzSYPBSxl8TaOPZCP| zrk#qCC89+u_50jm(6{C3`~08h|2(hf)zv-so^#LnoO3?sb3UJQ-sdwp&Rvi2Aqc_` z_t&ooatxl>WyTGE9VEhM38fPfNSVkLmbwjj_iv*lP;?BCFHAc`fyWearOu@^H0`7lTX;wn&` zIXveh$Ow4+?TawjbZ${$h}#Y$LS$28*%03~1_JoT?JKl<_(g!)iL6K#1roV!GlLgF zxaHs;c9}uzi7aY36Ebq!Iv+k_v>nuzfgF05^ML;!Ii_17iBO+}FF z1O!}zyF5{4g~Mvgg^nMy^*s5pR$}F$6hk4F-_AEdlsqr- zwzL@i)2&jL^ot#$=f26H)9>i(nZQ z&W>VHO&HWDHj5mtMR17<2&Yl(sc|06Fe<|&z{rSfKrt{R8SCj&(J98N-&YpJVAJSS zUhVEwHa0HUm}8fVxfS+L4I^do`r_!@ZChW+ zv|n5p)?>0voX_v@0rAs}xs!ZVtI_f+XQwY*Khe_U;e4OgkOIHZmO|>+)CbhPMSa1y zdhm-kL0!sFO^N`5ID>3g!d(Vw$?%*D=|V8^N$|}D($auopCD}v#D(E|C&Y6gZVu1$ zkcM5yA-^Bo-a-hXV2O|s2K+G*He!R&;4P5*3`eNk%=(t_i4K2E_~efa&u#%(oRBCa z9R8dU7Ge##B7jUBq5(zCtl)D5d}2ZZ9o`x6$r`e;AcX}IOop0%l*bP8QK1AGh)lHzS}0UeG2s5(4dvhL*9A7`U+%D&hyD==S%B4$s~Hj&VB>h%unkG-wi%9K*^E0&6Nj*={6fQjX7vSD=v@8 zAjB9A7FX}|3ttd)Bbb}kKV%qHj1!p1(YSSd+hz?QJC#RvXs+-o=qJkfhQRQtx)6$M zctH!WdV;wcnT`ZNb{1%tAh-jN(1F5{$YofE;U+lIsIY>oImI9on1Kv(IJM?P^$J2n zI4vxS(3H4+A)3&Xm`%hPxsYK2NM*AKjDZ4Bj7Ej5F=Q5-S(8Pf5g1Y7;RG^+MhJ+* zNJK@l|Usw0D)ct&i6M5=a;?si?9G?5=LG(0XP3|l8+2yM!;}l zZ2AjPj9Y_aJgfs@f3t=mZp34L6#)Nrbo2ZAsMQsT+5KV!mdVsWQdJjg0J z2Be!1NoG@FX&XkPgb;pFwZiw4ZAg-E3qg|p(aemA3xK-G1Z*w>OJU{=Dh@(;Q~*!P zhlG6ibd85u4^1CFy{LqE204sI#LfPV%735>V5V~A^~V~Dh@1BtWc&LR_p`Qhg@UUJ zxw;`HJ~+HOGmruL&iyxt4>5`!6-gruumFUf!Xz-rp>*g#C@7skDuc@jB5vBR#)zQt z10D>{6-`_s&ODGD!KShZj_w{H9lRKW9KmFVkwKcEJ|-oe8b*sDGlrD!&>+STK$m0V z1d14hX^=LNFgr4;W*I1P22ZdFG(uzqtEx00DioxW!Hfag#NXEgF!15jc-XNq3H^c` z#g!m{7@}%8!wnL_1+*arrYl$mP&YW&-#A=4vumuWxw}#$*K1 zf}>bqA87qXj4KTTmXuow*O1nn0A_$yBNGCFw*$=MN)PTTo;MO)BZv(+18hTBzv{u- zO0OyfO9gzyW;=8iBqWknoe8WV@aTfw8X%0#G)x`DvAI@;TN{yJ9so9jXL@3wFa<=5 z#t34v=-j3=2`n&bwCd&YaWME`SlF1}!_-S=V3Zaio*6)<#A74wHar^@j1kwUV|pf@ z+kY~hHmnD65Q9xR3v@YHSsJ&EbQ)%!HA2|zh^aa{!Av5ZMqx1{nL%tKg-O>5iV3GN z!gOXhKxh|eVyLT6($yry5CUkhL1(h56e`HCl@pQR9uKk_Tvb}biQ_dCWB^UTc{mN% zRb&DvzxV)H)_`sdV`D9ipt9&uY^>jyh39>bV8+lGpuV`P7K}wXD4G6aiSl0@MSaRTm@3GI&bD_Da>A&7v`aBe5KtVIu=e zEkt#;JF*SlG3ZKl=4?AFcosq20V`_}&J2J!c0qBRkPL!|U{!un*Tb*{>=mQId-C3~ zICdk5D6ao0h^Qmdh#+hhu+X0y#&W|A-0&zjyvYqaA;hl!l2{)_km-mLGKw3H2vxZ$lMw+N5z#}&LO6~4)e=(p69Heus)P%x zRSlVk+k=BW%;1GXMByE~`*RfbH*UHksDN;)DZ;~ckU?N3D4a@RgUUe6BO|HwfbcjE z8ate7&V~^Ph+_&h?C(F=^-m>? z965XdZTdc!B{L$9MGFr30RaydU{-W8EA0DHHnec+cO)GLCygg9GKw7T&W;MCF^QOB zcL^u6v58ImM$Z#@$?jBEG!28xScAY>V0bw4uOx^>{7dNZu(cs%j~Ed?)ND*N_y|~t zylvq>Z$Q56l(XFBW7x*&d5G}QcpuMk`cGEM1i3}ea^c8saZ?ZxnNfRc>$Cl?-uwg{ zP9iZE#17$4gqaBx1Yx>iaW{8!5(0vV%>tntpS-FM-0$8=T()oIfj;rJ*1ph=)D@rk zqQjRuWNsXPXj;qG`?u>W8@Apwlvc*C7h_HTn7Cz0bz_WV>N%kpXU$e!iH+?79nV^o z&*XQtz6$hl7_q6cFjK=fKx-dWOYzek6Sgl?yZO~(zv7YAX(kgCR!Lb>WeM~%oAe#$ z-rS^!Lu9`jH4xk|HZuY=4h{iSUk-({tGdF8Ff7h3O-7NugDSZ^C@v-NO0YVr_Y|;(C ztRR8|su&=LLC+W}gyBa)fMj5o8a6cnZNcC=49ep{U>MHPe;wq+_E&t%R_xInl1yq!1~C7dNEvx1)v^Q6IO=Eg~TI~Ferr~#n?3+ z5g$g|lUo9V%6NPrA^K1bg#=8&Jv?Kjpp;&1dBL+3H{jfbOQd{J2M ziI=%NbRNiwNg37(-dJNX49onHy!`j^(t|6fF3=Yy^e&2vN%G)L=)!M|RljTxmrpaU ze11#wuTuIe8J!L*P#la01^{EYZ~$;O4#wi=G%#7mX7HbDkORODY@d=l%zh7k`}6WY z&jErtbP%U1L6J$xw#o0saYFc9jyWFXn0>+Ha3nEQL{MO|1Rq{b06`rDMJEg5 z_;DN~JdQut6rGNa9hNc@72(6dI$#Gr5kZxQmE)HQN_Kel$y?WBk@*eIu{Fvw^{*%f z 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..98d90aad2546ee4ae2df02a311d8a8756e1ee132 GIT binary patch literal 32024 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
--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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..4dade0d7587c02de4cf2f9fa1857002793380926 GIT binary patch literal 25376 zcmeHP2Ut_f@;?b31d%SH1Q6-rgpNutf>fyrwg3SlDVT(+C`3gpC@RuKDHbd!AhxT5 zB7zMS>=N+kVh5XVx2(-(7304&Q_x1iIiDkiI1$6zf2YUp0J3s`|noyks z+-D=mFu48O2VsD9-lyV_b{j;5$e|>1Af2rQ7kI~OEATz|AVBRz7Mm3gnLOU?;XxEm zRX7J7_P{-nMWHdFAdlDC@Dig%fOF7ck06eNlDx-QOs;TXyx|cMWFiScK7t%1c)1AD zOhAx1AU|KYr+&%%vs+J%)>GPsup~(}mJWU2^y$t7{Tl{i${oFLHSOB69Cu!5x~FO= zqEqx_-*zkf!qMX1AqyUao^o?t$;i!C*ygU?-aRZki&!SRfMJsRRIf0wa1x0gZ24FS zy-3`7sWS4_#Nqih7c)QgF7+$7ak{!?Z_v1nS!X|*M)jUrTN)YkTV^Eidg1J|S{yLB z22PrP5}QMz6a6S`W*jS=!X9|?qmUygEJFgF9nNIYs9}bLAPS33Wio8ch$!}FNN|dy zapG7M8wMqg!y?lR3BGY*G-|j9B`JUzLt)s2Sz40K!_6&7)~03@)XG}x`^w@N94eh6 zsNJ8!!TJU3bL{YSaK`>gd@kZ1K54wVd(^J{pv_X7>?R)H{rtFhi=~G2or?IYj|!eB zJU%-w=C#dYX`z|>_ej?=LiA^7okVNSpO`o=OUKFP_U!2oqswN_>E1=@Uww!2)_l6dFgNufqXGAd=k9#g}fXP*n7xRg0wii?}c;`q#fXX z3i7byHz+?7&Z%MuqUMB<5eED*5f0*tP~ju^@*98cc?ohAQI@8~BL>GO@g?Gn8RLZaCy%RVN|VAPvXAN}4?&pXWfv z_unIfNi!BW2nL=wNHp*n51g@(1URuA3gQF3==bjt9bB6Kj7d8Jh%uniRJgN|{Xll+ z;DXcxJ(gDFY^WHlhV2hZMM=&Og_s zA6djEAUmY`{v25^P+d0gh#8q5oHXDWlN+WkPk{8~KNEs4uWo+qAkxVKfmdR$f73gi0srKybg`Vty7 zf;pbg#(3Z>g36+B>Z@5)i~$0hT)#Vl3~xy(Is^(kmJ&{lq=u8B9FHQI$De?O2&}y< z;OZMHEHX9uyQ&R=!rV9tzoGRz2(c6voyq}Dh`9ZKp?Q&HS~QtJ2C2fVh0T-iPqhO$ zjfJ`355&Xk8jMq3TX}r~-BDjMAahJ`^Gs6UVw!@R{_pq75Nv;=7C@MUQ8!7!Mf?ZU z!dI#;q&G-*0XNGaWP`+9fuTrqAK@w#D`{bE0+htMW2yt`*g#~5_3dXO9%w|*Q zFukR)!9qCoJ7}OGUt0QYrK5&6Jf3FZlHC85RWe~=NT)KQnS*Q(be8uy<`KRzv_G0F z=45cjYl6G z0xZ$U9Pp1soYzlK7f6ZcGO>1pGC*g6t})qI?+u86h_j*&DRe$7xLd0zgQ zH+6_0$71xqICJO)Og+FI^AwxPz?#D%5A+gP89NTl0Jw^zM#Zr(N4+1qf=84{@T1U~ z@nq;;u!R946aoi`fp>&g7+DGt$M_4{OZcLuNtmk8>#HNMafIJco|v)0NiZaV=OuVC zF^Tg`1{e1C*N2k=TbTux&vS5|4lsCNjRw_<0P$fGf{~H05CaM~z%H4<7(%GhV4VGS*Q*33EvNZ0sS9K?U*@0_J-`ETAROGn8-+nPtSL5bBHn$OXR)4f8H+K4V0J zFVCg%Tn-(~3Gf;i_vnJ2Wi!KA6rf6H64*>yTsSO~!TZ9v1U(F1#1N~H4Xb4eLDOIG zo&owIkT@Ij%$TNumH?xHUl?}6rVdORPc*U6C}-?Rlb{>T;lz$NHjZKv>C|u*lg*6e z5TSD8$OIad5o2uU30LJv5z5JcMi3Dc~2jqcO2(AX0 z1SLRIaBkl9hv^h>d{mgYfG6ZTZf4jVc>3b*uz@@7%j^Rq^JU5cVgVMh5k48dC&Jv< zf3hPEfwdeQ8152}0SBh2Dajhk5rNq%z&h|+YXO2RhPwhRrL_DxEGi?4jg`oQMGFRR zX$ATt#qf;5R9ce)-JRiH329I4TSpo*4AR&EpX0<70Gq+8e6MYa;Rx6xMniBHJY#9> zL=Z_F|1OGXBk}+rIr6Tvc-KVUbq()&kaxYryY|8rJNRE>ZInPJBI?Kp-gPAJs=>SJ z@vbD^)tYy8;9ZG`6w-(gflen}MRDOKtymv#1v76>jd6gC&&>_1uPM(5)Q1^ zu}COxI}X+>0|yR~glFvJm)OH+ZlV_xd;rB35#Tt;00H8O;;1O}*obO+_^X&&CN2Yy2 zmcB3L#Eea1QKO=VAP@i!7v{sPnD4)Gg)#3tl3oLr5<~^>O!Mc&MZnY=Gdf=wcQ9)v ze&g+lf^2^ZE1rr$V=$b40m&k0G~~ZY5Q*g&Ir{xKND82|uRtD=NBb-D0Q?eoTH=zP zxxQI6(<8lIa{F&aj@uCNgUQo_Mw;DQrV!~DKiQY7vffWkLc;F!(Spw1Q>F?Na5$ON zVo*IqI2Djtpdkt-ho$}e9Y`3&j9G$M%lqJydv5k^CNADNe9tH8M-M;E=~=z>gHSwe zk!SweF?%O;7u>vhr>?c&l7+kmK1+%<@m=crg(uq+WLGzeCHUw)G?7{RSfr=(p~ms8 z&mKOHnC>}jUEQvH-5FtqJ1K^v-(R!g%wQUIJzp@hV))4%n{jH(<(w!g1p4uHW?mte z){Vv?D&O@SC~pjh84F$qhX9JNibE6!x{u(*WPx*qsRx(>G6IJTBVmrp%p5f(q9g<{ z#UaEKI|xITClVZJGy+dU*)V^Br9wO<0$d+5`wMOikH`Y-nSecge+cm9uWx1nJI*wk z7n#c7+bo4b#MBKt`n7=$<_3Qq|A+)|JmJH(OX|1P^G7*!h@(k=%Ybd=j=)9%>~6<<%iq_*jBxPb z3<(@i#Q-@Bdd5&83_pqlBm+CfVx|gc3kKI=P@Vt+!*CA%Q7McS!2wSkD8&blzNd5t z#$X(R4*Zz`A_6i%JYnF)0Y--5+p)YllAuL=s0X8up)}z@m&rqhBB2ffuQUrvV>t3x zbO%AEBO`&9pl%GTV)MSGLRkUogVFT;(h97NET|X5g;)UUVKrgj5P6U|8;OChFr*ke zCL+>6e22nmhM2?Ml$QdJ0LMvW3Ve%6l@E6^fNR>IR({_`BJ>Cb z#>MeUVv>ym;1sKk2z|ka#s1g|BFM^r;H?9cC-d5kwT<`_ZN|`fHq;=%(J(ng0H1ts zk_sst^cDrsEsT4t$1n^X>+vW6bg})n9nd%5x8+CuMTF80Jo-w2_YQJ14{9!2&ysYJ7I+@k&mhSa$nm&eerH(R_x|Sxvq*Ai@7Q+ zlq-A}l6DA%Vw{P@u4=JU-B$B#({| zg@m}gWH6Z>4Qp!-lR=V2Ww1;!c`-jq1f9ubs`)9 zTlYr(95OwY;Opdoj!~8-S)3f>@NpuD5EnNbbOk4g=K`!y*KhOG>2g`}?G=v76Kf+ieQc{0 zlqZbc)wpL*%XPV77du*<&UB=|e%o?i_w>EbRoW}dvX0HIxPGrC@#(_c_3Jep4z_He zEos}j_~h-JCB0j3IbYgvyCGeE@8Ws+R*&CYOmde!Uo6iNem`Z5l(HV7i@+egotm!} zvuKR1toMAI2S^Xw_ROgRdv6BHFWefvD!|}KP*hj+mIivRao=Hu7r#I2lD4!V)u`J= z2wf~aR5tPA<%9E_sCjzkGbXkr=!Ktdx!oscGOfw!Oyt}05O?WD+fQAsO>8m!-J$c_ z)r`a|*52@KEy0$hjc-!I6}=*SXaeUuhCk5fL#QPS_KjjJgTZC_a7SmkJUR5{9Y(^yW)@41>?>PwUWV}8Ix+u{#hTmkj<-hKTvFV6Op`da zRPjZ8%E58BG}Va*#0;A71ufQRmp7Z>POa6QiP(tczevbS@uT04Qj)G=t<}06s!%p8 zj%#O4e6TwFob&lN+2kw3!XGI#m*z@$1vH(E`(5caCFE1%`ot@*H+QJ#w=i$VY%5vE z8rD;#t9j$Y7QOe%^A|UG`Hxz!vp};&c7j{>=GYfcXg9rQlpk2S@>Rwv!}E16W6_;s z-%ecoFg!vry8}Lg5_Rl;vt+sqE3y6k@v%?AjT) zL!nZqi|E*l2h4jIdWq@Su8jBJ<;>gqbuf>8Psj)?zZ4ed;9dGM z^k|S}(23X;PK-KJT?Y%%Cb`24&b*N=FcuS4D~Wl(H9Oa~ed(3y1r~By?U`q)i}r}W z*-ICid`t4h)IND_#U$k>b#>?d%7TyW`ZpWud|0nirgh0px|N&4k@a06lbKfT_0B9J zeAKh%L_H%o#*5zqI*8!Q;B^yPd}ikI1q~V8JLy1N0+4~ zYxgH+b7WcV!qV!sN7kh6Da_5gd@@|^1Yu>?Mts_^57gXaA!O>zj<@GqEiD$#y={6o zwN2oSxFD$oe0QUbxtoFU*;5=hV5vfb+*NBoQXi`Hj8do*`S6o)-YD}Jm!*7fGy?NR zTinq}BqP)SQywY#v0s(P9ox`iL=XlIMxIpI@}@+Plu!k%xQM*8i75<~CI)8aW+YRK zZ=9eTBcjV!zGo!a_xTO~M6{5xTgUQ7N3-b@buQyJa9a`<0A(dqH`V{BS%w|QzbHAnZuFEfV+X_W{)?aB9+UNgt#_oL@2MeQ3W<))E)qG#GFi%tt z`RKnZ-(}O1_;-C{a?I^}o?2F0_4MrHys|+R=9^N^+GY5Nt>2-2JKn!%T3x5um0N1+ z$1c3MyZhFIlCZ2E)ZHBPcvAg}oD&cO%! zBD?e2KNmQEjCp=A)7`PGSLB$YL|F%YgZ$p2Oj=wx80cgj9Kb zR^Cya8EiiFKCWDkCb}=h_28r{UZSS=McHQDmp-M{R`Ct-0Y#!Y_hrZLrHuc;Eq@@S zs^7S=%sXFt|M9+P72ljKdy?(cx-xc|bY70cB?zC|H|qD-TH%3P!)~=6@48$jpSXAW z>GZobBHJj28Rr6N`WhcH_l!7eW@=;bQk0Fk1uesmRkUvGsclU)>74NabpSF~> zc<$z)gb`1~t_G}Ebk82;xOPw8badP;BKh(%w@b;4YOYwvLbiaKrSw(KhrTu18K91r$|`Npv73G;L^`uxMQg z8NYwDbk)Z<8}{NZXnF+nzZ0oHL68!7_+8-P%h2Hi9!CTf0>?ARqYpX1l)}mn7Z!$v zRyryxD)D6Ew24%YW2wm-Jsht#eCB_!jct zuAW@kq}@s-lZ&_R_GC|eB_>a#puQMq>cTJ%p)SQv#SZCqKR+`buo4y+L^#+3Z$JnT z3;-}7xS_77vmgxvg4Lf52*wzRL9=4a%rGkhsy{g+23gDIF0Y?1Pdc_!B{@v*S?LBnGtmUquroGe=<3`)sZ)kW zE;?0rz3WNY-?3#o$NZ3Y!(1)7aq&_U{Z`HmadlEST3ub~6?MAEu|G9QBXyG^8u`#s zZl>z#O`00bPLB*89eL%}WO(IvRGRRL!wjRuWI%$0(8Cc5LUQJ~`&65P8s}FT* zbnUM^8@?|wK;()8(YHLia%f)R@)thUV%ExIMn`{?n6o;3IP1~xKGafGUS*-e^#CTd~)&!$Hrc)aZ z+I}{#;5hppeq z{lRu)h5A~OLyfO$b;QmXKE*Ym`YqCav>eZ!b^Ewtb*Vw(Xc}e#5g9YQeV`W%hWvqh-5Rwe^G+ReWr%jJ#i$n>MfaTCYd9yIz^R z?zXa&sMH6`!xCrhHC}u@xN!Qh1YOEq&_RmpCswDdE|0Wvi1hXZ;(- z+eE@tL-`rA*B99Om@d9mnW21lllQBf%A>Buw7g6Au4Swo7(07m?0huD@b?wH8FF1R za$vkvzzYu>BMIA9aj@awggBtzjH}-b${4CBfPGj-HC-uVRmM_n#l!zEsL`#^VPX=cvt-s%Vm#j*&#A)LvQr^XyW=}eLMY_sqW$G z5>!S=UQXwtSI1YsbTzp9aYA#A`7?(0o~{a=-saYqG8Or{xp`hPHc~Idmt9k@H&MCY z*I;xZbkja}Ysp5*6OFs~bnU%)TQOsb%Tz0qxjL!~t6u56y=w?@@_BowEsJI_%MNnt z?L|bl;q-NFxpwkiky6L2yI@}^Rz3tY^w=a}R z3Uu1fZ_RCfIwRbnBUG$#sjX;&Xp3l7oVr3SnY_R6PU9%y+BSz%GP+OiQjB|Ye=nJy za|5|n;#xE9W$so94>#HTRP|;=uc2zgRy&u3G3JezN=u89lQrMFtykamVUkwr>rHQu z#T@j=z5gUGQMKo>Wqy*1NB^~It?0N174JW;cp{bhm^z{2BibwMxvH%#jvl_ore$N0 zx6iTEV9k=m5hfbR&m1JH>^^L7+A^cABx6JH+#qi^m*b9SHpGWYrn<#^N-CKfZ*31m*TWi6r9hOof!!s(y#$M2X2C!`8JfKWAR^n|*6!xC?sWF0FH-?#WTx*8iq{cA-?pan)P{>4rI{Zsu82>$W|* z^08Nq;_M^R5-U9~Zo7J?SE*ja+?aA|=a$HPi8IC9ch>~Yt$oI>-a!;1u2L{9Uduc@ z#j8Sgk>>eKiihiaFRM_^>%(RDTge0nOP_mpezfngB;v%jr}0(G#n)cjv;OSpJ4%jg zfA0)W+rKnsY2Ad{+XmN@xej5e3$GWZYLsn0Tf)^o4wH|uUwc55#KkK@)(D>Bt@_87 z*+Xx#4br$7sLEHag-B8Z2{9b#+ki%ikcMMBV5kX(8kkwZNcNq+ElkjI4zxC(t?0Z)|NAD!+Cn3E@~R?cA{lv44DO;qc4i4^s$%TCS-} z&!|?H?5Z_!7OgcZofEsOYUgLQ)EDP>iSO;7ZnNUGV(GY}3PJJR$0k|@_GJ|5$6Oz; zl2qJx&|tIHmVWW>SsU-{h_RTdAi1&-_sajUq7^QGjK z?8d^<$0~<1GQ(^|LSI>kEOyvoxyJp_7|n#S!#j>#Uo4rI7bp=ux8g!x1M)fRZC1#! z`%V5A&S~c^G79l}{Aj}Sb0U42&uWZNu2%L}BNWDwxLS)LFLglH*oLguT*#t>?vRFK zBAlJ>hNB1x0dvFO<8Z$^T(UAq(6KsOqfz+Yf+eyrd%?A);r%``gNW6pWkc$gu{Fwz=Bvpn4~F87aYjW?07oynW;oTiJH=;xep%zRhB>)77}ZN-}} z3fE1Y(^V)JRl;e>Oglh`Z=A8adCn?>oh4%L;;gMUUAIEZlwQP!N3B@vEOm3Id(^TD ze`ds4XOG^S`mL*j7cmUTcG2S3W#(5T=Z!m6J7>4z+-%d2Ve6MAG2c)ms0~IBHLHvo zD-S*?l$zT?KVtXfsqDBFd+DZ~r(6??HnVCzAL zrPX&ISkiIl!mgcszw)KZhuzn}dQ)#THmb=PeDf zyoT*D?Z_ZwSU{i?xy}HWEba}V&TYAz9Y#pxTos>!$mo(;ZfJoxb z=Ev1*WwoE55ZY|~>O8uncdf2DX?u}ENAh0dmKFC5gX{L}mP}lz=iXG=qSC;;hcfPs_KXz& zaj9;n{O@0xvQskNQa|wM^^UHkHu4=~cW>|~Y$|!{yv@Ys`j~>OJgGjn%Zu7?IC{MA zl$|ejBktg*qjPrXW%L~OhzhA?Y)0OwXBmAM-8Fkb%tfx_`um#`4?BFeeXG8ITJx%z zo~~Wh*AHYn7Wi9y+U%*d3BB|FE=~~NGzui8JSd#Wti2<5q?TM>Uv6hb*B7qCxzPRUZ^$Sc@T|ejw8G=i=!>TOp7h0!p!9 zQj`}=O5$y*h6pw#VN(^uS|X`GgccXdtcTZr#koWxX+5T+A`h1AY7xD!_z6(PF}t~^)-#*+W3f>+B#Jv zv%IhFk*~~zjk5FIK3}?8+cdMJRmH(GQ!~fLR>(?O{^_FAoBA2G1wnm_k6v+a@-E2A zZ#uiM^TOU>v6x89}6*OHg(To(R(ZzrK=*$rZ&dYa;bQ;qU* zi3uMv0iFhMTzHxwo<<@~pBGPq|D&(_pNXg8J3bTwXh;xaZ(+`JeCGV58J7Hq-SWTk zR69mXA59psd_1A&qkQh`_Y0}nF`NL|t6L=z?vf9^^P@csXEoG!kx#@Qw2d?f?NjvE z5hkfSj8a`c`htY~s`+GeS{3R%{Q2yR#Q{#ku6rG_60de_T~~gMjRue7Zg!Dwe*Ah; z+WBK+XPZo&?fPQsq;!+TV>slfHM7zJsxGecTw8Z?+l&^nJVUop^<8@Ekv8&2*E*fi zW259)sv65HJR+9)hE>h@l%Q_Y7aUh!v)s|keoD*mLQ&hOg|8!z3*|U3c-HLkiP2SX zwrcx}WPM3e-z{&^H3u@p%^xPJRX)l;Ke5}``Ec2*I}tToaCHQUb&2Oc9zA}>dB#ko zLY#D3ez^WqVI*P?GNwr1Z@iahmo`_(X5;1(4QBO|ZB4I9wHHP1 z@A&*am_8D%KG6_)W=`Ad?!LsDQ`PHF8z-evZtmD0 z(|PK`?`M+{rU&XgR&(OTUZJfytEcH5J@84mJ+{bXvd*W#3ggcQx>lJU37b`LJJ|lw z^9%WrSu6YJge`1sm@Kts+n`6klN6EzO4CK%A&sZ33DadW^nQ}#mToSeaA3sp0^`y-6XLs>&CyKOiFzC zcDviIH+NYJ$T7@>9ckyvB+9Li^faEk!QIC?Kl;_7CAcxEA4Vt6ah{esOSBGJo7 zI3^x#;qzYSFE<`_N~2=h{yle`C+7Ojykmejxy1qwtJ_ z-$#!biH87tG2Zitll%f5-l13li$R~`NdWv0#Nc47SA4M~Dvo_7BvwKw5j^A4iw93l zuwP21r6Il^R*g?PCaiwKo_*4DakfozET{XF+xx_-+3n?y8OGu(A9QV9@mfW8`Qdb5 z<)R3~Yx5N~){)$@P4G3hawkpJo8RlO#+1{~Y1GTwt#e(WFk~gCi$y+Jderwu+ng2q zhjsaHw2Ej8tDku=O!k^_$r-uEr;A6r%%nD54iCA1zORAA6_SRvqXbW**Zs3S$`4W* zV(B_4?g21^$*Af8;sCKx(%)bT=pXT-gsJ@-R=<03vp;Fl`ii)8rEOcnudcdKXIuM> z@cGI3bzW%N`#}Wo#-y~zXj(U#)`_Oo2ooH_`ZnKR6LDhHwmFD=k(<=g>#f7?oX(e! zH1F8$YIkl7{DR_tz!ZiS9Drq&&-e5f-+FSoUo%wd@yEC|)H^LMozE|ND$4Y7=8tp; z9juVBu)yMSOns9`hO+5LXXD;GUz#5IX{FGi>Uvt6rl}>zqx1IUWBnDy+$p6Rmf_?c zpP=)N9m!ioRu+@FJ0_K0rYm!+txRt(OeS)jJX&OQ>!7 zn11+TO5J`{%YL^1wtO9rTg{)Nlg8%mJ`if0_p+k*yaB;Qb);D0(aC=E}dhbJu3XV_kP&T1C__b!~W$*5{D59@SPU1FsTI(}aFV@U#Ig)6>QoW+Q SDEN)W4XYwnS44NlXMGPcBBn6XD6$MljD=La&0~N71YzHeM zh#j$41VPjziX9c@t=Sjy}%B_1BjSc&(;ariSfPx}blE#>pB=C8$d^(2`P3LlXLP`{q!cXK< zSX_#GKnR7yV=$?zs>+6)qys%L%$FpC6+g9~Aa3meM%Gs$sbCl?q$tW=>jrlUd?&&e z!!(FzvWRb#f%qprg>Z#@#xe~0IX7r19& zSU0%+%O8q_b)u>wq`jnwP=(ACA*44Nzy;nBeFeUyKNR4K$`|mXA(P;3B0R{$*BHK1 zA7>aYDxb;bK|zAo40wrXnZsA=MU48!LYsk zFf0)68J&5*y3Jjob9c&?4kP>VL)VQswJ$$S!BX)VwJu_cMXG|zC*uok#WP+upJg)Q zDVgT#zBd>qwKqwDgQAN_Q(iIHZ9B@Z9@irUu%2wEcvE7-bceR&j^wm6^qC_#dUY&= z(GN4&#vg0P{jt5${aswmfztGzC%xm_*S^0V((MCh%Tv;pIXi*Zi)UXPBLS0(;mZz5 z6$qIeYA{p4OXNp01(K&=CY{0Ln^QP~Xda)4NB^-LZmgqPpDo(>{ObCR)p^CCgXe8c>Z7%7WSj0zx62R9a+mRsG1`Wl zX3b)p(f3F@gS~3MxuELJoj!WY9+;cfKB#mLZB{ba+ZZkQHJz$8ERNDm*;OfW-(g)?DCh zHvSLBAf9UgRoChZ_5F!Jt1$&PLuwUULod0?#=y^MU(vuxEf7tOevy z3Gb&u9vud&NDjkxL!J_R)u7BH$a@WSmV+X?z+Fcf!=j+fJfL?7(n7dv!TmMlp^p*V zje%Ak)Qf~VA@KeV+$Tf50q|T4Wpp9UhkF9lyAI`pp#6Gyw->&N(5@GJOW^$;pmP-H z%!l^}ffowgogi%w??yqItcqb)E?6}DF);!BgEanZ@B#e%+Az zIt41j$fIgPERiVS1y=#)2L%Nf2cCuSE)GaCFb}BCgghouS%3|Os<;bevVp#kcqPDG zpiL$g21QudWFX1JJb?%c%J>1nSgaT-8H);e5CsrZZbX~k7Ci?=O};Ja4iwo0?_bmH z38EPCePI?B1Ak0{Db(dq=z0RA1>dkW1*-S|w))pCY=$CKQ4xQP2ei8Q{~1$fpo-y- zt9(t{6b8AoU_|aGZ3&>` z9H=6M1}1~j+Woq)xIf=&&q}E3@OxE*q5ZBwMEZRWDpSOjf7U`jun@B!^`L9u5M`w9 zNQNQe;vDE6%7_FRB@*37=7VI1#7+k#Mo$q?+!#^sDjtAEVUyq`l9jaeF`=jqDk?HM zWRhL_$Ag!4?m!mVqdN?Pc-Rqd0)hb{;-6sR@}xa?~6N7StVjDRr&72j6y1{L4}YlsOxyp1AMq)RPkLsgr9 zrK(ua2mql+KWekf3dDu=0THQRs}*|10d^2u0_dMeb4L$7|ba8>+Fw;V}1fAxBn*KE{G-c~{RrsFb94MfLgdw)1V0cc(&Or76l7(Ud;WN6$DRsm*WW&Ueo%X$41}|5l$6P@oy_5EOO~gr*RhAnixM z(6u%|V=n?EBmq7s5W*~!D;io)cuoWs8Q3i#H00NW5HgC5?%V42u=LkOSctSi2=e|` zhqGYWGBFHB+7s{=$qS7>Vn(#$_+EaZ`P&cJL#(5jR}7h+@Py#_d#PWAMx4Zrh}8i# zfOK*MkU*39w@smLbpgJu8Z58GBtnT--_NJt6Ul*U&i{Hf)U6nh8Jd2C*l8f*@GByt zh@PW`-uE21sAE{@zgt;aybRDFv=%_hi)6PI2%G$>WoccvgxxO5-UYVb3?_?CVKCu| zPmdNd`Ah*y(P0xL;89>xL=mvKLV5}l_U1_yMQj#>P9;r(iaa*6qNHL2kHQorF!^)_ z9kRH>iY*+<6k0lk2iqln#a3=Ki*6z?MHGiku}XKMQlxA0nRIqnE$eSxDd48wtm?_arp+x4L+)LP+Me;`?OP~t`Op1_|z#~+PkUD4?F$gYvW(b|b zG%=-80t6zW@CrsaiOCnT7*K;K77#Uw87-u66S>iJih#*SWZ@l$Dd6w~REisqD`3Gs zok>X)(D@V~>VX(VRFVAD;X;X_v*UP)kU>i)C518tLO-T3j>n(?a}_(d(R?142kmkw zVcuOYU4%kDD=HB*h8TNc#a1wf!~`B+$V6ks;Uyt8lBU2*1QyV+|9}XUWbDF;q6?q` zv_zQCe&{T)g1VDLPh-)cFNk6MN973f0tO`grZCw|4(K09fD|aH!DoV&i!6^2cbB2k z6Toob$gNZR3E@$AAXy=g006N?i+He+P?X~JS3D4$D+2o_AYxOJya_jv%`+t_nuwY( zCHejYZU#b~fg%YL^Z`NuOnwAR1A+2DV9zR@N>W0DDrzdu1r&@gq!NQJ5K&?vIPaCR1_k0U~%biBt(}$;}A*$aVA6&2 zBtI8)8k)doF&WTl3aAjkj8rSY0`wbjO334L5h_uAz-|AWTRG$sQ>Iy0EFF&;S^kGT@s~H;M96 zxL?}?Q9qi;g1LhMXL1xV_K4wL3S~fsq_G~IR)BOEESbTIW)kuu=pfh^VUKt)cvMO# zK#?RVhJGRw!8C!tPE8-%C_rML6o3{9XP`EnJ(Q>oGT)ymyu>tM zYUY4m5g7Fw=HcwZj|Ck8bdXHkJcVdJ4D= z5Shdz=4yn?P*n^YutY$@gbpK10X3zPtOLYvVd22!L*EHVf_a;T%uqZmFf{?-SD+OI zD6LTdvd@b39HtP|Lxc#>w0O+{gGSIE^0jWGX3+?XxuB&F1=}Gw0*gee5*TN&Ljo{N zQR#1oo>)Lg4?UW^NbY|<98y+Kp(Ai%5R;NLLJbr(#+P2JeA^TOn!|tD+;6lL@6Y7M zq18$ZAUqRkJRk|o6G#ZrtQfR#qQlY)V1>zrY(NmC0q%4mJ%l*#MndE=(UPyCh|dzu zgXrxKCoxBHV`%ahEw0#fE-a9UHYi=W2(*y&JBI=|Kz8Bsmm@6(oi6nh14*YA==qCb zM6#lTE=vG~O1eWE9+(j<1CXVmdWoWyGf1D06dJ%j5#}2)HzH_fa-u-T6Oi4ZhPsNu)WcxL zu()6m$ePfA!fb^WPq1o$6-NkKSX7j;!C3%fM2Gcx3^W54iRKL!pJ$HfRTO>2B3gU_ zk0PrO^MRJHL`#Sur;{JinpjF)z(pXRl|&aZ1Bf|>DymMZmXdB~Whq7D!K93*oBsbU zPGU7F(Y&9D@;7iF)}&x%pb4-xh3j7}iy{L=_=gNaVxJN)luXN=J}3_;k{|?k7Fu-x zEC>;p!#V~=9ash$-qzKiNG%P@};DI)UXm%3m50k?ZvcRUK2#V1JfeC>Jq?Es?{S`y7=KG32X@EkD z8(>eg<`=Ks z^yA@$r5yC1BSvVnmFi+bidhj8Q(UCkw}LGdk3|tf|L=4Vk5Fb%_I z!u>IN4uP@c#tKjgwv5QvZV(2?U+|3F{RSh#yxrkG6VlG8yepd*g$lz5+%6=A?%->L zeC(rN%12)eQznV-@|Y2(4Q_Z>;u=X@Q;6$g;(Cy{))LnixT24! zChDUSHVo6lG>L0(;;K(vO^GXwxDF<+F2t3JsbEzQjG&F(fNNju9$XEGoIzL{JX-@_ zRBR~m)(vuGGr)feEus%<)esv=$|iwBLh>PDaL!14MJ48om>cHDVKg|0Fq!XFkx|`*r}l`A)6`LL1WZtn1UrQ-I;=DK8t{!t|H=^Zahu`otygoi$Fd! zA1(a;g*O*wLJsV$cw9O=T;!quzLXm;A(hXHjr#$CP*|ifIdp#f_q9A(Z02_){aA2f zAmGIaso^XE95sXp6B#TX6)l(o*>oY|hDdmVc`=iD{CEhx5XTlU*x-Eq_v>Q`LJQa6 zUr`9<@z?@t7?&kP{D1*S!Wjfq2}6Fc+5^xQPziEf>=7y;Lm_Tet2mL3MLvGVZAT8+z~WdmO>(_WfY<)71<2%vI7ly zFe8)>4soGjpkPS56)t}qb!z9W)(zB|Th(`dR( zw$dab%6u!+yx+&`j=~6@Mbpb^6LzVeTJC79J6Fq%sYBtMSZd=pwsxro2~+V4L876$ z@%T&t4-$$t=tIJKNQMQDl=yJYLueF+X_ByRG=w)cwzxGFr(u{i38S9eLiu5NSZTA_ z6hhGiu=jyASrU^$1vy{|Zs;odEJV+g&cru2alB1eb|moQ&Sv}3SzM9rF_~1PN9faG z1aye#rLOXS=M#x&Oy|2$9}zm^KgdVic)@q{MCh^<%ur-)AU7PGvypK1z=Gk)8=Oe~ zkoJbFCp@FiQP~$?L^z}d`jfAT&V)IjVH?BnE1~I+?^l;%oipM65-TA z&Uw^Em!lZbM-d&-gr5MpyJMgY3Q?L5rIF)Dnj2@B@ko+hASZx;sLPV_WQk~oK#$N{ zA)r2TDDfeM!5pC~RX-f^kULi70Ymj@m<^Q2;cJ80!rhukfttgo5OapQ-+CYYfj{I* z{82xsAa&%x7I{ID^b)~6fm)+VxC`u*HyRB-Q0jVvyhbA0$;7*Oc!zp{q?8CxqHr22 zP(;oTq-<2+&lgI>LOm3_f;^U~P?7~XanL%3Z2{T-zPzbWTI5=xNKp|$u80pLJroJT zfR-_AGa;XV&XOz`XT*hAPf+T=LrxBa4k6DWiZ&5B7`sLhjpL7X$C=Qbuj_rQLBGgiYyWs9NYlsl(0dteovxK%D1`1> zgn(l$ffDHEg7@#GN*he0(X6d#HdZvdvAtBSXt))P)|tdJ&;Bi(8Q}(qGZk&!F3w!Q z*8*q1lmK)Tj`l_ZnlWxDD%LMFj?M<}V`xYS#UsRj2+hjX&BDXl#lynh#>17?Nlr$Z zoK#0cU`-2t7CehIKw9u5IZP&tqz-yQQYL4?R`_{k-RtgcAKs~zd_Gk}sndL8JlXY8 zjm^oz+D7IHFOO> zXZOtZo^$0*^Vv^!$y2#6wcl^=wN`e|yDPNmkqZmn9`S1lIGFX`ZA{!=m5*j7AvYhd zJ$L-Xb?Qye;HeH#qc2sjnR~uxyV_*SZJW+)3-d6z)bS#Kef#>7(e6_%1{FP-HCArK z=<>vzxTY-^xJw@FJKX2%?vli|3ajRJd^MmHjd7M9^-0{q+t$4uo z*T?R;7asCTcD?o{_@l|qC0>-osKpuy`^&Hk6|MQ}Pq4O?)G1BNzh3m=@+{rdD=y0y znO5$8em49{=ViBa^J33o6Y;jayQ+napJ@vQhLo?$(d<*JTzijq z+}H4I)sVp|d88cgtJnT$obO{u;(ds&d>gM=d_7<(dHo4Z>&3qKXnpP=(!qS2m`oGb52p1)}k&RM;-eAel_y5(B^Kikb6^e)Bs$&;(LyI0Mc&hvSp z+mSpcYELHlRvLjHto!NjRH#rdEKJ;kHvZUPW7{| zjxVs&%B^2;rgYs-#rJzTG9zy*zZ%`DZPX*R*LgiX_m15K?e%82D$4`-Z_>v!X^ps@ zpDxr0oTs)RbGzRM8%A{B7tL!{Y&9#=e-yT0Y5JK_m#Qzn(hb~tPKznO^D{Yv+Ip+{ z5nIQFvTolXn-cH1lFT%tj+8v12ESfbRqxp0#hE)-=dZYODq8m>Wq$4&a%Q(rto-9+ z>8uG4+b-O*x0^osj`jVFIx!k$fuyF1;Km5Sjbv{2RU}C)RYnS~?sZ@l<9fbet{xck z__OSazP9lmvqfm6iO^`HH$H-9fe%8;qoQrtr99s7dm}oRAvFO}d|7a$&t%Yg;@wek zIc-%dYaFLp4YIMdp;_B~1%h5&MpK~Nm8`A3?Cl5a=WITkNM81H5d0xV@e%|C4gyc0 z$)Lxe!bpQ7(ZvF{x4<0;5TuLy4ImhXhu}ftG=QMTuRxG!K#YUGXhMj0LujZ?B6Y}; z;jBPvxdH|)lSL+Bd9Ch`W*?i=E6Y55k;w~-w#8ZN?VNYX7jh1!6;kYMKaG03CTQZg zQqMUmsSa;X3oqP0X1K(7UawwH+?JL&&SSg`p3P~x^4g?swfwVXSF2?9g*=bgu}}Zt z>Nu;2*cWeV8V0OhA+LqChiqHvv36F{ht~efZJnPzw=Z>g_H3WTO-U;}>7u-*Nj-{ zK?Z9F*&AO9-LBFyK+F8jPKPF)_kmyX9>l3Flr>o!>iltH)878=CqlE?vU85?T9^AU zG`p=`p=yNPH0>TA?jC%!FQ$1#{g(pw_V||v7kImtw8$Orp;Ypavr2pKy0yh6{PIsn zOX+>@9o@8lgi}?)vo#0i-L>lP^r$vNd;Gc;3)(kps6;fs=IdwAtoPZsC`kX0Std>4 zImUuMzV5;;)15wN2aVn1_odgC(gmYzM>mkRo3iEirF$M6an(=Wxl`WO2#1StE#KtKjZJfb8_}!%&s4fv803J7& zLsGuhyIEir9PV?szRRn;K8;U4OLU zVdcsogTNgZ@9Fp(sz1M6a@lu>5T|JVscc;CSD z@F|PXb-VhfxX_Z%uc{k5V`&kcyuY97p7!^v_L43R@CohsAXjmcq9R84ZGiA4xVi*! z1+GZ$oZSKFR7(K&oz zev^@QyIH+*$g(kw8;hbh(*Jh#%+g5R(X(h|Vet-M!RR*%+EgYUh&a=eg?R|~D0C}y z$sYduD`Sb3@WCLW!5)YSAyhm8z=Yt1d*bfmG)xE%znTy%5ecbPF)}k`WkB^eSHvJ| zjr_S4<7M3K?mgMJBl*t7)F4079;$HiI8Hb1Z5NMCS#*ecRcrlxPSl}M zDD<)VaGo|YiRL(nuTuRq!LehOvUc4`W%|O_8;5%R=|69JrR|^z8;<{ZBwfXI%GD6Q z{&W27;S}chaim_#-PLMucVF>#*dH;YOD!y$Kg`NL9~Az0O+p@f`(WRz?^2I%)k%vo zeX)L(sf~PcpQtmA{W*GBttzL@4_|UCZTj#megDIan}xQA{3|CLXc;G|3=5t=d90^f z_amjHyZvIT*SU6Nr0Qp^?SaQUcGa5Dr+V!G{TjC?gPt6I<8|Kr>P@Q*Ut=>b!^p8u z!(VK=zjDplA-toR1BLRM&y)0zugWSP7FyXk@lwJTSv5N@jlPBV(S^evO_76By@Z9^sdlHkEqmo|Ds(!?MT9SW}X4;`vId1$- zzrIB`KU%IGP7UiBe@1)5XFN+G4bPH`5>EwcxwXVpAR|2$pp8K0oWEtIZH41tQLqy* z?OM$Je7@+~6VPDVaInH{2a6^RJ0eNLQSv{&XUQUee^x<8XBA{Ps{otZ*7}jJp-bIy zle;xb!_TJd)q&Ca>srTp&d!PiLL zX|7jtR8twVr{zsFWbaz*z4}Sqgxb1QA$yh0D|X%5GH7R-(yklJ$DEzmNA5{X(qpS& zV=c?(ZHj@HO5G1e+&o2e6-KLDTyb97_VB)f z>b3Ey#ongPs>ceolaJ*&zWDTT&{z#Uzi^ZFY5WITLk@aRxY^R;ws^*^DSM}6_r2w` zXMV)voPe2qUKLr6Y0MpJvD12VFMc>CM_|*PU!wqFxFQ<*Oyk_t)AwoUKGr6=4t3R@xoE3TJ zM32&=eXoZ3G!HIPe`4T$MCXwERFB5;3VzxHezRfSanF^NFHY)?x-(hZ^uO-x?4a4Jj| znJ;p-4=Asn<(_j&$+z-qv74oE*?VqV3T3ppcErSG1x^9hGjH#n)9e0P|2NBbAMq?? zuc&=+ea?Kz+}Q$i=aU~ye_f|HKirq}mduyk$+F%0D}y^F5u6=vm<#^Zy!zdwj7}8A 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 R@+IqXHu$_FHW3*1e*igz{zL!( literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..c3981ff08af5748fe9161da691abb56c2ad410da GIT binary patch literal 36128 zcmeG^2UrwIm)+zbpkP2n7?PsG&_f0l$%0BylA;I$42Y5(hNviviV;CYK}7)*W>7#d zkj&XZ(KRb7=74FP?&_*nuU@WKRk#P_V3HVyNx}E$PYkPu zU-YpfufM*e!)s-&gUVQi{CVwaeC&B`pQ(}Yv^aKb1e+O63uVT{#ByjMEE+o@h87t^ zbMo}2MaPD*=t@codVJ7c&KNcpm&7(dx11vA?H(qft%xgPm;;o^QKg!}@JoYlI(#v# zJ9#fb;f)Fq{^X|~u28SR+ncy<*7Lg%oOIqitIpztcztfGSrdG+msMC2fMfr2p(XqW>a__V_pJ98wj18cro6*yLGahH;d}Q>E z?@zSy-4e$Zj6ZuyeGR;HHEg06OW-P+WTDN0o2{D|= zXqKRNZx#pf1@RhvyzHIO{~bGTFYB{GCHvqptMdDAVJ9U#?C;C|K5vEGy;Kh+ zht-%ew`g?t87H~D@vkfT_F9(PKXq8H=Dhi~+8(JjgYF#pIylzBlWvLE8iz(ZFv4dv zn{0oeV&47CE%RsRR*hIbEy}^{ZH0ru-lLAUWF5vV^>=r_=4t6+G{kFM)NX5^{NuBH zYE7JdUwMU1H2QsTKx{;Mz!jQ){H={gk|vzboSEKdRT@ni!`=f~%;75ubSeZU_6FmW z2=b_-jA83Q_HRPDISA(__{M^XU@2gjE(rZjsAC21aCmNjHbdYy8EnTp_;pnR{Q=n9 z;C?l{`wsV>P=6%AAE*ND0L~?VFDDBu0a&Nt-4$q)3h&LJ&$mz>4{feOpOMgq8??!S z`slM0z8j(L7wGE-z$t?Fl~DgAJi9|*G4Ngu-bcgt7{EIS@Q1>?VNhoQ+;@k*GU5Iw z!21dJG0=yXDuxmE7zh3_u~2L(7LBn05C;qu3$9LBBo>dwVNvil1@nL_dXGM4j#w-_ zM8h=(3&I@XRSf)#g+>lg#RE%#Mp2k2#>SkXRveV4U_GFrRojN{P%)n0XcSat0U!=s z*_aPtgMbE*PqA1UG_Cn> z2JYBccVID8LQD`Jfj?AXLod__ku2Ic!(#%;9R!C1!)1eCiG}+xAz7TEj7`3AA+OP7 zO+RQ(IAh7sVJLv$091;nK2U;KBj7GV4)K%)AcLWi;jbI{03akSh+!OTBQ!8U+)9K_ zqu^B-<^^{MSqf$ph#VRt;-w#1ngDm7p_#?6oB5MtnGTiNfUcfFAQtTQDd+G1HIuj5@Q6S>xMg^>SzI{?4e>jRF8&{L_z;SFt)ZO9c9S{ zu#1G+s4Es005-^`Yj7@PRThYPtQb~E4v>g)umjLsN6;Lp7&0X+c#Sj_4T7=?_n{im zc{O(uZag3r0e9lMpbe%=UC@Zqek8^T&_@{N0544hFWU=NB$f*B1cEINGY*<*2&{%c zT?7X86O92hc$NNtk<*nY6tu7bv>ehgZV{j`LALU3{J|VBd|Zhp&R&~kdDoesc$cC zUE}3SV(w243@M{G3_Ah_kN8B1;!Nmf>YwXIfN>-=N46yuh#^kFKklqA_)NNZXPr}1 zoE5LYjk^46O-2D;lwn7Bip=pa@bW`C2jva)K*nUcn1|Sk0trENWcb6t&xVt}kb;gB z5}6I;bt!8uaxYh)v6-l`z$1uIi-e{EO%f-fIZSPYq9?)~(VjB8$fgS#w$=TP%)JJ{ zMt8&l0YgpzVI^?sloJxiq$9Yo5XK1E*A_RCziI1`diMhN&=CU^k3^AV>sppyL(@)3 z*mYBZd}j0pyZ5U;JJaaieL5YRs5em~K|fod$-qDAhmvqhb(k3bs;U5H1yt;WUdRx~ zfGbZRU5>cyh|n_Yi($4M`|u)}90rUI2Ps98E0Q1dj*114hfKk?0|=qAi5M&pxAxWT zfrnHq83v6}lqKrIupfrmb;PDCPy(NY%$q2Zy$(Qxrc*o)Vu1=EbIk&C-BArc_Q$Yr zQQyg+p_G`Tv3IQAF*2d_3b|S~kQ~Lllzw+?`&|Qq5kXhtF3krBi?khu%N=#ABcSaA zFw8&zNFWX3>L_j$`)i8P1yx3 zWI=_tmQoOdh(tU=TZ}ZFH=<%wQIj*!L};lyZz70!+(CZgAznmo7ft^<_HV8uCb9xx z0x=MGxb{HLuwO(Xf9!;pLRUh~6m%sn4M;e}*(wP1qJhX9_@W5_T~AD0I|CvvuHT@t zj(}|fnslUrvp$At3aW`>7J;UtIo4vRLfSYN2oyV4w~nfX#)iT-D%jN@1UUs2cW)n7 zJjXta8OLF<{Y>y_yxomlUTq_n#;fC%HKy~*c!znFjoij`8n1>|N#j-UYI%ov`+1eT z8X9kJ;}Uqa6zVq4ZOnk%CA`BlUNuyxMn6M9kOqy)cn48! z^fS{WjgBw>J29fuc!hvrHPE{njnIa|Nf!n{GayHo4uc155i`r6Mh$RrJ`Dyl7$3;n zh%J+DH5`bi7a+X;3ViE5P`wv;0}6)J3HPA zkcm3PHt0yeegT;Q1&XXlkPv5(AOR!cyN|@ImX7<9gQ*0rEM6pn2p#7 z%;OKF8WljrwjDxY`wr>&GMu*pi8w+Gn9JJ$e5IHT@(g^QOR}?y!h#ea=%ZF3=cH`c zA|Y%q+2nW-2cU8V{6k|w2%_;IjF+HBNc8xf0WlGw==i~Q2o*sCBx;C>l{A2YFs=SK zV77rGp+Lb%dJ6Rz@d#KA-BmYcf*gQ8AcaFB0-6m)=#jhyyg(U%XS~C7Jf626-n1hS zHP&`kq;Uzwav%|ELb4kg?jw1KxQlu^Kto+4BtS6cf-Ra59c9nqup>hfI4m1V@96l9 ze|M*iSuh@85`1f@PMxDz(X1Gbu*($Q3P2GVHl#Pe7;PFa2hcBrfgsb7&Nn=jD<8 zfT0C5Ba~>+Q0R>YY*~ing|fd@d__VmK^hMY_mN{0C_7>v6eICM<2VQn0S0iN(uq!x zg!-UdU`{9v+Y8(wZ3najcGUrN#Ikt+G96J64@BHSdh{Mf<%DLDFaPJn4snqBN6*5pkX%IvjNGSj^=~3HHK{rP~%c4G)Wsw z$6w){vJBb4a**Y@(67)-R)fGVLF5B=iQxcLC`b0Wy>#*IJaBRatuc$F7K#%n)P*t# z!iQK>PO7{pwjialt+z%B3f;pSB)SM5AV`{4e(bRihz!!lN3C%QT}gqr0sIFT6lB;* zI^g>|A26~>q+F2fCc_&tkRe%2stkoV3IU)SQ9OWT71?rHdznFM1p|PK5QR#T>QJ?F ze@jvZ4X%u4;LTx%PWNFmLs^5Nktz6!5?my70GJH9kZ6KX0JFqIqzeoY+O@z=%KcOP zY9n@F+2}|rsQ!R!KwN>$l3E}}Tx1a_Gky?B9q0*oIxq!bFX;I8|2c^fVgMFJVWe99 z`$^2FYV@BcYG*k8i$ulONs9VIN{hyYGzz&N(l#OKMubJS8^oIQ!gCv!p?<1C%}_+m z1yupf1ThjBA>b+s71~AUq(C8mj>1B)888Cq3i?Ar$>jm-$WR_!JD3Mj=^O>&`XGc$EO$>8G(ucNKoX)Oz4NyTVz2+b2{X^5CUKbP)G+36#{Ljhs-G2`EU9_G!Tl201gE%2q7x{)Y<$JRiI5mjCE&mrpAT^ zLaR2W^1scT4&H?nmyT|V)O~Rlq3Av_HZp7&B3=#R7bKUEQ*Xy`;1}Qakec{Qr&|c( zKp`aJChCJ^Bi%8I86VG}BPtjS?#h~@$N^1CQI>@=5M)@0JT=$?WbH_^NBR+%45FDO zl4A(Z+c|4789_=W#xJ->ZunmzROieh9XUT2Mhbvv)MVg5dioAyH!&EDUnLEkxfxjB zKWT1&qY1t@2V+KoB-03Mg+Nv?4;Khr)eeH)&)5h(wM|;*d&a zA0N+(4v9)}q&zPjUqNAHN|O5T#K`t zh~kP6lwNHD&|zARL684@xl|2ET>U+F%C7CS`a!C6YotAzM<( zHU4C~eXo2)6~q8-wU~t78ngExC zI@4}I?dgR`0Of3gTHb_CjckEGmEE ziyR|*?wX)N-$!CEiZ{q|0c2E6&V}IyrDf(yP)kIlAE$;)S`ie?!^A-7jRjs9l_Lw- zRjP=$3J@gYg09#CdV+E|kbxteAp!`7w2cDsCrMNYCQSDOeNpxmHAl${3bmy`ZIV?~ zkO$ESnwB0UGa>ErwWym;a&O?*QF1D$jRrd>$FV{=tT5-~P*xlVHq4Wq3pA)>=qfHz zVnpKy4bT{b2{5N-)t%2MNeUx22o|(}kfPKaM1hdG1eL+#I?c^e!a5gJg|F?1{O#tf zus|se62t_NM1*?VnU^5qK?`pMWIzYlBS{60b(&ukMo52Z?o7u6Iva=xL*U0!ND;#z zs*o`R3L?`8i_anlOl1LS;?r-?akhXKLmP(nsd6+5)8XQVdUo4U$fT1k6&A=puy>&u61~6B;wGj*b`pucllPI+XW7 z{ZqjPU<(cstQ}}Ql#0b)pv$DZ38ri0w7Xr#nItj{7A59ITU`(^G-}d~F<8OSS0Vv(Yoq7bvfRbh$I7%9n&UWb8{h4M@yF zi!#W=`uckTt&qQ=GA|-h14-Kq9%Vy8yr>BT1Wk*9^Z{b@jMXgP4aa^wt}B= zLlBWTq0A>lnH?&(smk{+DB>U)k93oi3$dI!N@^pKL5hraI|0regalfNV(YGGK*x9D z2I3qB9|LHTI*e#4ioQsRLBT42s{kePq$}(YmjOi}Ljt&gOaOj|kz62*0meR18CYs3 zGbogap~7zzxxrir4HT}_`Z@Bk!p#CGS{#fyc#n3#F*xo8A2^1GC7QvJPgBT+TcZ+b z*sux*Ti~_sYz&(Rzc0|eH*BtniHJuv;@}_?oEgD%eZ8?{xJO5fbw~NSIl=Ejcy>kg z9in1G;2C}3$P_Ny6VBB_Irc^06oXyo=oY~c{0i>TGx}nf0#5zPVEULE9Q}15uR-KB znY=D1uT|vr5_x?ISM;G;qA|*2!!a#5=ZCI+$*VSb9ZX&sE1W;i^lP48?xJy(!iMr(?s&w~kOEl@8~?p-1#Vz3O3}cn%Kdu7n>PgHtW!m#VRn zLT_Z4+ zMKjscJGOF(jAC^F=^h!%j*X8E=g|Ek;}e)s-kgN6$XGI(@rq({5H@sbDb_stCv7Vx zSCu;1udms?MLomECyw^ws;?TaAum7j)Zw)ccaNJOMZn8fV9V&aiD?NSkecFrc1z#l-qvnoXvqE#8s`(YfkE(eL^eUc9#}sd>m_6k4JyRNvPt2>K#{O+3}kxD%n4IE!N4$69HSrEPV2Njon{{uMI&V{ zo(9Zku@hNgbRY+YwZh*q5PXz_;f^MFYWEx5?imXLgq)(H+?kOvlpeBJbRJ|F}VDZKc{2_A6rd>b3!pmVY; z@|;~b9PvOOJ!BT(um?KFj1Ie?1DS&3Eo24wYZ}$yqjA6qo!LR>oFY1bluOnjFu^}F zI8FsLfb$r=p)EQig3i#RKH46`N9Q*}0WLaQ91Dk>IG{wRHXCZAt2j1Z;AL@P-{@2e zI#rHv5}gx7IJ*O`f`b!uJ~S2_?F<8Gs3tmRfj+}AB{6t@WO+P5LkGgphk==a2Pfcb z27hOP0AG%t!0y0j7w`!uDM`UY2S1~LSAst<&~aRJ-~u|Ul0eo()Jy=3P;Yc0wqAVt zBkr()V)S-n5sa$sSm;m}(L(&VH6381bLr@l4sdYb1a+=Eilj&!@BvXS0?y2Epw4!n zdq1lPWYjQo&H*UXPfxU57G*It6)+WnBgafTux zFC#rvSyG~(G)9b-Q5Y(NOW|Bg30$hkmKaX-5i3z4Qn%+r!4i+{DVr)Y8(@$jaW*f}v07QiIj#bg}uUWnPUYql-6zdO47hC@wZsiQ8qR-5NV+HE`C>Q7sB!m??t-?GCl zsi8RI#Ur)l%Z%)DV`<@Pb)O27`Zr#b;nq$rP3$`{F=^G#oN1;fo-Qb^vp;mWrkOqG za1h5sUj6L-CZ^Tl*$D@9PrUt-ctCQ-)o+6adv;$zKeN6dcUre=|tb6NP#dlTgt%!$WOYnskJ zGQ5QpuK~JJ>O}AKp1NkAu8((#Q+R3jHSuft(6XcE z5V(DC@WI3Hq&zbcx8S+6B6dZFj4T}ZxK{eIwL<0R^UU<1yg8+IIi~Zs*1TCiKJk!? z!O~fW&ZR1AK4~UPC0D;!}`MvXXc7oo3`LrALtK!>Y=@7 z&6jnv=;m);-*lO?eOuOo`(`gD%b4W%k-PT6S!K1yY9#_Qy!W_XTm7Kb&iEcF@2$=s zn^vD?9OSg-{Kw&Uheq>;Pl}?sB$%&D-mq;fyVsmS?9Gd0`mC7cm$Z5R5e3IE&8L@B zEshdg8A-5k&&4d<_;q%LUVdv579tmcj~Az!B3QWDe~BG2AO=!OuO*ZgNJfOQXx@<# zF<>{5jiZ4@WAF`~IbmYLFts$ZAPpTMdL%f134VMFE!l;I{zGfDw`9@f-%DP-f5}-` zu%Ti8$=tiERW-j`EFSuM^4O9C)r-;uZ_ zjxi0U2KE**=Tr~QKK-%#T4PxmjpFHFw&dp7HZN$Jyw*ZBr#b6%dEp+pkNct}N8eC* zJE2ugzgJ41b6Q$XKg-sBYaVj_c!MYVecHqp)loO{(m36{mMCXs>~jBX78ct7_2c#V zJBAc%Kl065nReR$;;F{B8eTijsC`#R)R#-9Ati)|&( z1xn4P%#A)WH$wkBRt^_xs-&2?y8RP7I;r<-R>7d~C*P&=`^MPb|XeH zjEJE~cofz2M8e|+e{+%<6GjtrMq?wRBVlU@qc_nLRhL#%GBG8^S&ogOWy zUD$_f=$CEq+UV1A?nVo{QkkOYs?;Kyh51+i59`MTPbzm=sF-5);Uwq$jat1G1DEva z^VD%=$%rLkZ^kc(Zn^x<;BJA;i&af0BrCjM1@5lUt}2*n5*YFNJ@39wLB5PC_RV|e z8s`o36F;|Vt~R%O@yfE?>cxu+&ifHW&snCdGb0yz%C6e3e>2hh#l(h(vQ0NMwCXOr zy|eqqqvDW*Qu}haPltNG-jU+uGe7}v>UDm;qT>gvL0y+%tOIm-6L+868hFS%u+ zY5V9>y4vKz{H$-=x+?}ge#h3%oYy?2B72yc!? zAt%VEem&=JiHu^CrO>G=>Pi%-B8~xAvbQ8&iog=c-EhG>7y+SB8Vndyk3&%f3xoQnR@^7zNWM@qCTY_8m$oJZ$k_BYjc z-|3cO{B*?%Tc!PTzzxWP8+c8*0R?97sVGARf9gzJSWtW$M255q@+$@|TKU#64DZ`p z5_~?RFN(Cq3gx2(A%Q?SCB>CS=AE#F5Z07o zVs1)UBlFH6A7T9q9{;`o`;X$y!s4jCcW=6`7&2=*y>D~P{RhX_jMMenec`schn~u- z#*)UdyEz1{$8*^$KC61U<@R@2u_u2rG4KX9{mIOl7mH+7J}OJ)w=O!Tb=FjG!TPuF zBQy-Z&3wFYz_Z65n~EEBz0YKQalR&dB=!14; zdisv<_E6IB>$IF4B4)w6iNyLZv#;irKhe&c{pph0JGm|!U6(`0jC=}9HIwZbN$1wx z9X5AmF;k*)fYRP?AJ^@}FX)W%`T1G;=n@%%XQ1Un-*d zDpFD~(aI#c%gFQRalLRZ%|%~zS_4T%?jSDCO+I; z9J-nLmy0L2d&=(K#iNV1>>e9G;k~RHoke&d%(SGy4-w8qjz#vFBmaD4EYuPG?Az1y&As8bNVo@a`&xHLMX+F#auF*=bkVklej z)U&t|Kj$l`-94hfT-N$qb)V-ROXeImA39}I-Sfj~iVicIyxH2Xh%<+hS(7K>eH3~s zU%JsV|HJSD;SZP3x?IX)fw^w4|PbB0aVOwz{=9O9}M6!6UN_0~IU)}OJ7t;ra~ zk?HX&QM+y(w_%Xa{=L&iEGkZ9R>TymZLQles#P`i`(l%*eLwDwJGE5zba>7B0Si>a zBt{sOPRy=;sNGUob|$nU*+;s`p6<0Pw`@!D&hnzw3H`3GSfG}mV{EcbE~aSGQvJH3 z*YnP3Uwy9Wd3xqK>$-BT9{8Rb(q{-LZ`xjsPV!UA_-M9Dj z(`uW(6I|I;f-4;&a0SXamq=G2Deel;L?C0~UlM7X5CmuxJ7s+Z@5ykuyhte}Y{Bf@ zV7;i)4Q>Tbr%t(acb)e>1;eAI*S8PdlPX{O+vuqfGC5_7+u+Aa zwMA-4wYei+e|<1Cpu3j4pTWjd_B~abDz_=uUcPi(KKJ^}eKRxrU$@=6H1NqH&w2gc z78_4|m@~|1kLiTtRklA&E|*J=*t@TEh1Kj!>(dQCc=#>XHrGFD9TPUk`(S~}?!LP7 z&b~h=nVI!5sFgRqZfWjPfaXrcN@xqWd5&P-UD;Qu!yW`S30YZqUv8Ugb6Yn|#MS zwk}qAs_S-Gz1nG(^TURt?9_Yg$9i|`T-F?aeMH0m=G?3o?rucM&SiIBOe!q>cDpS6 zenVcy%$HYRj(O}hxJ1ohYe`x}`lH1m$wB*!=l$kiFu5+tz~Ifx=%WVNhS_$Oo(;|O zofaLFAA7uMi=#1T)yJ4m$+QWEYJtJ4*4lcS&bv{zu+N-%D;5)>cXW$ z-}w@J=hIHypD26N>Aa+`&|mhHkm{zX0LyXcuPZuY_Cy=M+QBKKtfC<8!#1*!VB|O+ z=qc^d{H)|8qfvK}84*A^H<*+Vo<;6OV=~?TymJHf1-%9T1Hqke-V;Qa2APTn!W4Vw>bV(v(E-_Njodn+7^jF=X zX;xTlXgnmeB4OK1N@!d>eJUrKuoD81Aj~vPXamGn{DR2URP>i+(O-2Af)zUSM-9=+ zC0cnyf8&@=8_>?6k`u9rx0ze=@A;(kqhG$piO^Z6xVlGk=!!KCtJ5x}bjxXA1yzbG6{#%+V2PEZM-+vl*+G#{`s_r|rw5>UuxmoYe4wP^ia%6G$Lz}lt zcU$*z>X)hXRYgNa4w*i|EmTWBGA1B@^~1UE>$Bgv488Mh7_Y|sb&UR=meN5ldAHvw zm##6$%Xe2Eq4-vA(N(RZChGTFj~iW>w4uVyTH%DkkrTW3wCuZnv)96L&J(OmW(?{# zXYcz#pY9mi&?58qORHQV zR<_nPpy4;wz!O|Kf0cmH`pa=#bPEZ3x{kNJ7ETz6{1qtY+m zmONKXe-=5c^c(R~YV5MRcN3yRmyc*%@8{uJm+r4qoZQ1iJN31_!rqZzx1HM@*igK1 zo&O9!4_D`Uhtum4Cn==6PXC@#*iaK4J?-@Pcr~R|uk#G9!9ap*paW|gM8>MW+i_7# z9_vEx4t3E3kJ3#L42>Mi4+*ralK*vl(xi)^?bzBQcGH@kE9mC~Z) zoSe-Yx?h?3y*k>4X}0sRB5lMY>l(|M!}Y=&PM`j=yw^w8$9Q|EIGYoxkJtK4UGMr> zTgUR_c(X@pv$RHj>pkXL=~)TWfGx{xz4oRupXmlZ&A#c<^kahUJ>4Yj7LDYspY?`o zNkZbU;B(g3fdyB!mejsabxRmL<-qkXmnJv#HtutJO22>)FL}lZKaTfZg7>=aI4D-@ z*zb{NvJ_4YSQC4E06Y@G196`0xf4m&%d@wZuXq__lc<Ol(LvcGMb-T5M$n8XDV>LRQq8H&OOSsdg|C{fZ3 z6|@3In4qkInYjrgpo6?|X{Cy*%x_J&=1QyX(bG+F!;#b{;<5ti4kRm!d&=~GIPUYl z4{J*OuB}y^<&tIF?dk}}4C8P4;iJ#oQu`9JJ~%n7zPi!vhU&12vo9CO4*PvsPQ(JP z-tysAey!W?DruU(8g#h6pJ(jaFG{ABqn|Y`9MiNq^SVrripjDbH=FbKnpDQT%&s&( zbC4biT!CLQbM&0$FxlC$m$y#r{`k99&I*c<~IAQ6}k=BM2d<)8_?yboE z;^v?J%1FI;ql;;1VIAS}+nd(9&pUVI>ptK5r6^tVN%{L^=H=Xz&yosG4>6fVAGKj)ij+_aXK;1rL0P(x)@VUicLo$igX}O=5D9}bU2&GAlmw_7Fj&+_~jSB_fB6Oe?!mlh~>me-fzo&5=(dXc=v8!g@0>q zZep5W&)7$0R&N`E;vXfNjM|^OxFu(M8h4Dh8?9`n;u4Pt#$Eb_t-8(e10G&`8{=a) zWaS2*&o`J_#t&v5*?Gfw@3|7qo^mZQ*&Y{$jXZb0>V)Yc>u~u~=?fGKVwNt{+w<;T zdbcU-Cagau+4gPu20K@ulA<}89{ zoqghOzuk1K-6?&!;ZHVJGyEUK7$)!C{<~A&_FngFC1j=;YtI?(s;*`N=_z4`%9L(q zVirJ1rAy%Ni!ykdGtLtkXa15ER{jQSMK!Sv*7ngXHf+Ta+b-Ajer<+{gQJnNslBt2 zrJ1wCpWLrq#8n3RNxgwxM%TqQn`(dDo3T#U={I!D9mBQ7^KWR4dDdS-0RB#NNwoo@ zCFZu<>Cv(>L2Wf?-!@5<|w9a33wTRrWP>o%@* zg9hC;Am3@pxxQiBrk@&N{jOW_%IlfYHme6OsV>ZGmiN`{wurYaG2d>s$A*+F%gM35qFFoJGnN^$lYSfVrmBlj(q>o8Ww>ewI*k83M{Mm4W;|p(e z3!2jyBcZu<`>~PVir#3b8$8~1y?}APPu0~0iOFgP^XH7M>uGZ#l4A{{8 zu+bl{){egTAnM66_b;2(?I!M;HNNMU7u&19vYuaTcK@J8&yn2ysoFeur_82^lY;$C z{ee<_#I`eWqc;*E1@=%7c+9+InJEr(*L;W)PVWX zzJwpOuN;Zs2U(xl!Qf9lxrO=c!ot) z+pbnfs4e?~y+d8VZoiB4k9OFTTT5Yw{hCt|MTNe(i_L#3DcjrZxD_(#UVo2@s~>00 zuN>%Wee%4m-Gkrt3>&}VZ$Cc?xcB&u+rfsZ%WNlaiG8_hT@bHZStHZDyf$~Up4AY4-_>X9ue_W!@^Dbq)?sUPZCQ(I)idKOPIq5o{eB+4 z$|Ny$e()*DhJc@bamV6yG$+>ww+_=^9P5|#bUoK~&VYdjUfb(tsqU4|T4cj})pTn6 z-LVfBc}Be1_d>y6$;7WzWk;~p*~f$3zx>$KufDcde4(USwd~~3TSZSVwl+@7wwRQ$ z?jg6{px3UN>RQtSvpr1jReRP}IM>HHOsF5$`*T@{C#0t#IW9F(u%AXgV+gsQMxwo~ z`#-avhBAEcXP{wkH0+BuH%I$v%&A8+^!PWMQ?UlQ(#uNSnxtpAoc+WnJ$~a%A7i=;i*yZhnQJE(5G&#(O zefKrcd--A{XQ>6oxZULkt}zb9#p zX!TFnRkPT^-ELf?N`Z`R#GDV|^^&WdX20f*`5x1<_RQXGZ&QaTFj{YT$SmK#P|o~G zvPRj{HRp#vHg-B#^8Qv>&1SrTCciTI{I|pPr=0?)^e(`qJ$2j#mg*5$s{6m(P131p z`nT*Rx$?W;+3Y79Cx=XJ9Fdzd>9-4O)sOv8jh=9~2jA#f7@3&2`qMs}NxBpJjAfr*8UB#bUitk)PfY8Q#4m$z{kE1a1S#rYH4NW9>Xxo8^+ zI>i2`wvos_S~yPW{)v0}BQs`5j#$5`SUa}-`POqE7_}Fr?{EL{#Xq_)QGVoj_~~hP zKRj+tt~t4FgZ_ihhhI+j@s}Gqj_aiQ^?>)%bMJ#y7bl*xv$J1!YjU5TlRr=CW1g?) zH-_`tq5G-Qx;ZE2ytPaV7^(4gP0Hxy3I&#b#WnP-GHE)`+yN?;Nn^)R=WQ|IG@@bpv&X0H4vzgOl zleTA^Es@`4edxuBv)8y4?DGTOSI@^a)4%p#G{nbx-=rI-lzi8uE{Go{_bA`!S=K#M zy6WH$^~OGfv_GEO<#EHHdhhm|tM`>SY&?Cjuf6-d%+EvCZt4+ETt37x8FM#u=7%+l zjr*U}E}dAp=a$p(Jg*tQ6<<2;`yld;e?#LPqW=52NA6#h>H>)F!7uw9gmyt1p|fT-CVO{+gGYv19gWJR59OAlAFPdx>1kqAy=0h>R~{ z03?hV8PAA}$3(_MBBMr%_M=DCO8=*aFalrI>TEu&cAA;dn>%48%U(t%PyJHyI2cY) z{2x$-&It#}vQ!e*kPP7utrT>AYo#G_T?zu zpTxOXxpBk=AN;mPYm-!gvHtpzr9ZwNDp5N#@dzILBdsyP@^O7hQnCztRjA#?$XSzr zXY{W7I63>KR_TD6K)V$RL$BBDXP8y3yrpHFzGZ02yAb-&3i)29uJ!{PpFJzMtUf_% z6s}%*pzLOjbwlB_vN3Ym{&>>)H2RnwRa>@x%x4Y1Rjto>^E_CA*?&^pgRI}2f({NH zy4vv4wZTo3MhsK@=$Kjk{??8blQh?Tm1S#F?4~Y#r%}AqtM$oT{eqz*XU~q@v1CyC z=bY0;s}?N_)tT#5Xg*9PW)EF2RiWUW%1ZsM5p$G0yG_ja7%cJRRhGBSVlEL^oo3M7 N%jc(477Zp5{{?i45+?uv literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..7197fa644d5f19ce2f417000a0f5d3c0fc9303c8 GIT binary patch literal 26912 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 a4B18Le*QxFo6HBFcuR@6!{Wdnl=~kXR#giC literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..981df338ce66a5a32bbf24084affc4edcf9b2721 GIT binary patch literal 32032 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..382d465b8a6166e3259230078f861c49d3d00c47 GIT binary patch literal 25376 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 RXbpmKO5NNk@E;Q){|_croYnvU literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..a489a2fe9a86d0ddd5047ec742f0e55965b33af1 GIT binary patch literal 28440 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..a8480a413828337ccabf64a618f269cd83395d25 GIT binary patch literal 24864 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

#$6@r&EZSYiAOAsd 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 + + + + 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/Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/MSTest.TestAdapter.targets b/Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/MSTest.TestAdapter.targets new file mode 100644 index 0000000..b040438 --- /dev/null +++ b/Application/packages/MSTest.TestAdapter.2.1.0/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/Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..61368321b0a4dab9b385e001169de0018550c837 GIT binary patch literal 36336 zcmeHw2V7IhxA5GX0t5(Yy?keG3b?wvzW43^{_pqR-rdZdb7tnunKS2{sTX6rjz7AruA}Lk)IOPk0O9R|-Fb%;`9( z;Tt2^IKa;i_yIobCW3bL9E!8z|Lfjb5ToEp?uk%5j+7$g#KIBn6NAvxP>5F{WCAbS zbognLe&{98vrcC>1h`$jflNDc6^HV_ElhuaE#*M9^E^%N>qN(mro-bx{Y8yW$> zdQThZE}>GItALD{SIjd_t33wlo;I3V>JShc-cti&-blnkX>LF)03jm{S|84W-YL~X ze;lzV-K-GexWl^velJlH2<0ooAvgxH#%>J(+whnOA%c#&Sp!@ODNOeO2Ggw(KyCne zxQ8&9EVssb5GR8CwTWR^Ci%)11j={gf=t{IpJJgzU<*WOp-KQ0hfNLy4wxm-5~gR1 z5)OX(E1gM{Z#^a!s&{U{?vFFfb8e_y1=x9Rc0k{l{h8enimU7aFmMBM9`2Uzh^D^? z=rb^VsEDQyZDFz*1EC2_Hgh2G&g3#JJF={jHI)v~R9c`s@KvQa`?r-QeO;-Ep=V1j zv%~=MI(so)EIrtUZVteb8nfP!RRU)5b%L{(fs57XI7nTHgJkz8vLFyQ(~ER*R|ue} zJD*~s!P>4P8@M?Ft`tj$p^ak^X*ic?I8UP?Whw*944MZrJBI70dk&gV4{&ROsey7b z>7vU1P{yq(#^EMtaAWj1%)L8mOc4l_1^XTgQsD%dM?lW<22FNURuIYYS^B&1x9#pDUOIb?s_ z5Vpb#fXf^gvf)5n;4*^BG;-k}XK%!TCK8P)CW`!quA2}_exEqg&HFE^(APnQXzJit zx`S9SO9~3gf<7@2SSWT$&=wjGcFp0i8?Y5V5K;I-;DT+Ff%uRQ_p>E53JaFOL$u6X z*zT7#7`ji${$h1llCrIoc%fO`0V46y;iwR4MLCqXBG`O3^(X2j>`#`I*7F%m8CxyKDNJL|)z+JFsWCLBrYDX|lLXF3SxX z4;s#J1L3mWISltXsu-Z)to#I$QN+?w1ExM|p^Lh68Uk+&bOLw-UtmEp+#oYMcn`od z1x_84iZ~$S2EC}`5e80g>lWm|70DO_{&d}Nli2~7>J%|I%qICkg5CawrMHh&0JZ#yDt`KqS27wYw zr?FcaM7^+jfI4I9UKcNO*q&^*hI9jWy{?d;U0_W#Z9drH5?l#9s_szASxJi>hEI-5 zDHcT|?dYTQf?Du6kV?O;m80-m1@jC}DQ>WXu`c6kZALp5E?})(Lcbd+nQRQ(C^P7H zW91q8ZL5?SV7#63G5xkzrWj(_!AQA86X7UHBfw~?!XkI?MLYV2W5B(Dk0&+bqQ-_6 zm0+h%_QzwLwLXJ(3?uvFL2sU-Cot_ELef3TXsi%p5GET*?ZXHJqd7dFo~W;%kP`Y* zz9O(d>;ZEj>>!XR0)0cEX!JY*%!I~6<7hnY zJSb03uP_dm16M@9K`Qhd8RI~A;kj#s<2bjy!DcQS&85SutSGJ-dJeU-5lLh0*~5+5 z=oTH;(qV-G#}5UaJbeW zoWnsE`5U3J-7P9f9tt+Wl(Qg}hphO+jd{ohFgz4bVq*3m$Np*aJtZ>l5Bt` zn|K4}GpZ$Q&^BIoLoV9Nt0e7_B@4&H$KKEdeKP!D=7N3!3>UeYR+3H73gCx}J^}w+#0Lx)1wkn; z>Hs{rqa8q*ht@NP8@r-2hJzmm`=AvHTT2<}`6uY< zNQlFK;P_ucpLT*cj1G`C&7unzr!nDYj(X4#8#JyID74c;96D`-3C?K@xp2-7#$C8$ z0OHe-fPvF^$d!gdcp9h~4P|N}Aq~0GGJ-i2$7ISgqlJ~prK|f83bz1+6Z94)1d@H%~Q*IOz2?7ic zu?_|sCQxS@s?b83G#%8FPMcuentKh(jiRC3#A35s08Q6Jj~EQ}lOB2l_1C9jh<>g| z#SrbIp-Jd12Qdv1p4THZ3B?mErV%=?g|2YSnOyWx3%xh6Vw#}=O>oW$Xab`#(*muc zq1(hq!j;KKYqU_InUHDuRqa;j7dj2MD41!59@0>)p%be;(;B_hLM2QgVU5_Z0zjzN z@FyCw)f3&WR|+|G zl9*v!%4~u%>6~Tgl)+GDQ#4o$Wk5M6w3&u9z3HT_?;0T{1dvw0$6U~HZGA2HBbhFG z&Uogtn9cO{rGX#v)Td?hg@orea`Ft&%=2ik!Yh9ddnHgj6yrKP&~nAwM9p?&=pQ8GX|Z}LL&_= zSg~K#7l+Pi(v0SrH(AH>rWfI+jWf_5v0%cu%1kJ-w78vuIE_I*gd>Kt2 z=Oj=AxxX|?PLtK{!r|RgJ(d`{bQ)mzE!Y#t# zFTgp0sv#uNC^{bS2Vs3~|0uqT=D`)DO&~0D0)^6T`Ei+R@@wd5O5KNwK<`b*Q28L<~ZRj|Qj(gK_Gl>5}F6Im% zngNIA=s5aFlmW({Ie^$nM)Sr(*u;1;v7fv~%plH@9}E}K^x3Edvg7>*Tfw+p5zv++ zkmoURpNOIH$;gpwOQxY{$P-FpJ~L_QiOC>-AjoT*VLXIxJRy;boXvZX1Y;;KlT_2C z2GFH`A!h+sGBTf4O6JnFNDQGR%7w5U z8U-6Y(P#!k0KUx7Pzc(X&Jw~LGzY@QXc&Y|(Rc_wke`7N`J!Y9o6})9>I(4=G(HIx zK)f4`m(XEvv=}fdI_!@&8-ybXGBuRIY?}`uj)#+zphgKD4yHpUb0%OG7~t?G9Xc7} z_((JcEkcKoCE-IP5+jIHL=I^PmSq7mK7`y@ZNOWUGov6}Mu+{(+C%&ZF9E_u<|!-^ zTFU@0VFg~2g!!uhgbl$4NtnqPL)ac{&j`hVZF!>^=oq?)uAmQS8}Tc_BKf2X=}o4R zO0t+_mcl+K)QBH&t!O#f1we2UKwtCBBrjr6p9{xl!W!gTTqSrxO<8bh^fQyxtTZrz zI-Cl8+VAPL!wc=-)v+Je+P|k~g_)%JtE2Y;yzK9BD)8pm_i7)Svz0WCZj2T^lN?Id z`!y~TeEsj~Nx?t=9w(&B(xh=B9r;aPhmOAm&UDdOA$X@Xd$?CFD|BV;sLv9cJT7O{%Vf?R1UlvJ!zOY?-$@vul!7w1bO zWa7Hk;fABkZ!mdMb&ewQ8xf&cnMA2jDYDeU6q%|(oSURB$doCBSR@I#Vs(~6nJ0`* z!eD5oIA1MQ3U%ltsj{yOL?(=u13F7AkqV=6KFokdnnI|KW=G3#ot#vVB$p~>5(HVI zWVupWs5(HUfnpTmOca`#iJ}3alICUP7AH!xq)Mq=BF#kEQgwQ?DpjnM!+uqy9Cwlq z87Hr6bK3Q7VWi3M`CEKeFsOA66#(Z(gKI&v8jzr64YMD4!)=wHE%aUTIw8BOjU5=Kk)MAi=hRHgCBNYfG9H-<$ z-+^`}D|$=in$FPV)yBgWac_v_@qu@MRTBuO=)*`Zg2ZQi&_9&$y zPn$zqEmjSz0*O*pK`yN*bic;|Ip7FuG#%COjx*DsR;TDVcnn%|^oejh4z{Z<)+4fX z#jr+273Aj9ZiX(b!xVP}%aCQsq?uU3>(V9IA?b7CG#b!p>sJiWfUa^H&{~C7UOKDR zfp1sn;_1>-?lBccm~FqO1zgUihfRfDNz6sVyO zb+JxZi}VnRkY*HQXJfso!-1~T%KtSMI0FwQ`zohS(8)4&eFA#4Qk*Hx6Dxby(M}dC zL0o!$tV>9eN(#Uu6o*3~lZbQcQgqa?!lX!*cys6AX}Gs!8cR=<=8B8x`c-x5I@S}EFmg!L-zJ1B z@{5(S?3{W@31TqLP^D5_{Jrd;9rAh!TJ5B@MlH*b<$?t3ibWQIP@(gamBpZB^uVT# z14FbCYH&KM&_IdOJVoF7J`ic0d~_B##w-QAXm<{8tpz3LzzClS!+;K+IdD-^jZq0Z7U0cZhs4p<8k#OfRj>&1&!02=TWpc_$e*Msw|OT(TO=4je^ zC!UcH+$11{K1?R$@LRlT~4fb^n3v3pqViWP4DW5?Xw9fC9OdCjhXxr+&peS>^U{q~(k$&v7s0F+Pdvb-$u)Cdl$lWv&`*#x zvX*8>7D=SEYeSlT*Uh}@@Y*Q`j7#81la=K}cf`+2$*&tpg;K_2VSPnxc z)TW(?YZ4XNH14aMNR4Nax^m!h>p`hXaXz?Ss0p9*Y9_%*RUgoHHMCNwX{I)l6wjfx zabR2<14Yj-&;iMyTUtC;Gi|hxo@xJ(uc_w}gxY4p>^K`sK#5&A?fCWUGMJiTH(a;i zLRe}0iZNa&(S-C%+a$2TY`H=OY=j1 zVQB3D=crq2)I$RGdQiT`C~$5_sGEzcXhRH#i6EU2UZ7Gd^7O;MiuO2KGIg^86)M!M z*`R6=oz6y(vR)h}X)2xk^n<$)4~LqDe?7**yi>E9(G}74h~5MLSa*Ll{0i$8{>J&$ zPsHMciHj^#(~YwE0*tZfvmfVCdDURtz9NP3?OqQ!$z zJs5OFJ7Cm9M%NLmht;;W-eSFO_O6*egH|f&6{uQ;G#(9UX20JVcJLgkFU*=@Mx8Ii z9RV+} z8BS?M#$01O=&>$JZz1RaJZ9=mTBsXD6BUIBMrkpAYwD=8*94_BOI8F8r03+| z1jU)Uc_$KU7q>{Js@IjUw}e9F#o$TsRIvUg63uiJbbvxxjIcTB;$YTw6UPXd5=L~K zMLU7V6PnNrg;I?d|LS6$7<5Y}yg=8PIqe`c`zU%;9c6k-s>fq{(*t-LFfy+-s2Jrz9OeSBzpaK?9^^(2f017LTP%>3067I@ zSD-8?Dnu!CRRu^4gp&YMfHDE2fD|1w36LU&lq|r)bO2J~Q3mP-)k**x3)oDE=K>zH zEe0yM5h|LB9F9W-kmsMQ7nR=mXDiS(3{HojKV&GI76%rR9GZ+pBc_}A&o^|$Unxn* zcl#g&`XC(GEr4Figt#2yYItK^kkSp10)+eh_q`|3_PT)9m;%Tzff6AIH4;LJM7lKA zB{|^wBML5Iq0&)*FO%6&31(If%>7>am}!mt>ll^L>WUQ**lgOCF8yachb*F?;kl3x z=fZY{8e@HuqZm5G_yWLZK#Edxl)y@ZrlP5B<19!JFAzv@mlJc@$a zga9YOnO7)a6KGS60sfKi_j0B{=_I&~7z#PUAWWjEVJ)Z2IETYK5$MH(;U+*V5^~@? z@gNC(uHJt|8GEx%Kogh4&ID6Q26{12V>0j@50qo;r9=T73YbWgN~d+Gs|%~tw+*h} zjK8C@NYt5TGfv;wBwzuH0gFK2@GgHBFW*q^{&!N21yO$0VXD82x~?m+ydpt9oj__> zM&FTD>4d+l((iW;_B5fOQwel8#Q`IspeS*`7S^Q*It{annbT@_>EM5!r35fUEc?hm zVj}zR;vpUkxINtq$#j25Ks=_du}LYk(P>OC9n$K0Ok>WGz-3#l$kM+t&M**MGzhLO zl++6__3xyaO4l6=b)fkAbcKJxs}P(7?&t`Rb1Jm4PU3n#5jvM6-m#@|Va%*q$0AQ{ zYGs0$0)jAP2;h1WL@X>Y$i)Fk!?9ceX~ir3g|Ow7ZsnCuFtoF>C_PScxdw>fNiE8p zO%V%jr*d(;8Bc10G`V@5cw*AjoFMG%;a(FIw?_;PVGG|3(GX7NNlDYX+%f>!T$TaJ zYX{dSfW9465PT$?tq;+2JxTw4=p5mY^bq91062Z z%jI(6LIJNV+6eB#@XBJjcD5iVV3OdKu4V}kga8{tDTo;w0vEPCshuqw8d3U;q>FYk z6hP)@ywZD+i!`(-eFUfOqygNkC4m|f5gI|tcx6^h1CrF#C&skPq{af^xJ(9|I&v*Q zlmPUBmeDx)5Qc*j3~3}ppxI@OFxLdMz{-HB0U@-*+3^1fW&%xFKo(#mhl5GdQB#QY z(L+EKdJJ+H(IxDFBCdy~gymUGa!I~9L2A01=BOA%O+pWIaWlCVWdkuk7BoK~T96WH zWB}QL2A6~+AkW1)05n7lLoP1C(e%(SP#ar7+S=OL8m?-cKFH!UC&X|=zqFJ_epg47 zRv{<2Xi$pKWLO=rNeBQ=ObQj@TMzhpw!!iDse4wOdpch@WQo~|Pp0?oe(Lpb+^`Rf zzPW>ArcbnA)BMhibEhxvyfouP0N;@uZ>((bu5`+vJ=Y4&$JH7X#y7j`!<~4a_3-9h z#~llw+G!iiI8*B}99%5j1po6w>&5Q*h*WA#Y z3osZRB0)2ap^t4f=ES8`HM4SS%a zSf9Z-xm>#8fB+^SG=f5!7|RW}n&Ae1!HsS?4#ya}Y1|&ykicJB zb$i*cQ3I#y1mwfoj8NG;xbHaYZ#ahOl$xMFu2Ojl5(+ZlqzA5(w4^8>KMFs7LG&wF z15s1}Ha?czJ4NK5za~DaSZD z(qL&&R%U=$DhbL83e3u&d;L5cly7 z5c&FuD4$@8$_VuFm1G46QNjL!SrR{~C@@e&1!YMBsKCHLzbqf1@9RTJgMFl8%3msx z`bmR)L=sBu4|hR=vP1!X{t`b4B?D2CEV%r7E~o zBh7^MjRk>BMEHX(KYz+sNQv-g`p8Nc7nuyCrJmZ8&6a)rh42+`GS^anZivrS;I0%t z5wyYC1+X8^v^pn-llyHeE)~^f0qDTi!Cr41mEWch2lXVBFReBtxD4LOX#ea?p@hg z{Pnm=ks)cJY3cZ?Nt$nPkbjyg4Zhz`(;g+H{c$g*DKdJc!5O*~HnY?89rfS86P2Ht zf!Y6$JOg^xRXY{O1$A)!*zlh9p>)tIINpqfYe6VaB>^Rq3h|LDe!e&Z4f=*({SyDi z|85E3@5B(?T1BN_Q>N_{@3(w|$NAd9uQR07GBKoiYT?Tg1RI-4C>=t)`qS-Rq|=KA zy!U{gt;{E%vF+pgrUZQ3rhCIj)%1f&YDOw80$vgDBY>(H_JVZ#M$xcWgf~a=_RHxVrtI%fBI!I7v|IC^AM8JY4B&fFEDyYy zmq+ha;XPp3`=y^4)Igt>PuE`zOC;@{7UcMLmsGPYsDxc6ytRvW(sZ2mfE&_;o-aI^ z!~4;g-~4*H5G=gD-WMJja7xfz2rLjDRe2_mN9OO z2yV&?p~XUY`@`FphF~OsX9X-s3Ft}Oc3hjBrdrq1Z`=9b+vcvnj~PnuG~%}78iha5 zZtad9@LLM`30RiH%`%!(+pZsf{{v4?&A0hK{U2%W|A8L;FEx?=8&@QWsPfPoY$NxIb`@_-2?MgKJoFTx zj*$c*GNz2!EDtV&v|%AChRyL{6HKB!kR+H@t*91M!+IDq%7{UrD&{=06j6@#$}ug^ zd=3ut`_()vJi=>H;5e^rk42+CRh3&SsdDCJs+>_<#UNpehY!mgLNw;uwwk#d|Estq zgorZLGe)q0g+iJmMkgklPj*TY@hJ;70ET={Dtzkz_g2&jxyYR2Vx$4zAW@o`r;ulg z>?vD};qbq|ND?_x4mh2`x7N?T1<7#!?geM%dHI5b@KDOWp{XdC3Z?>l@Cr4cYeQ2X zN(6B&NR=J=M>uOnxnj3e3t1kvOA27dHZS!$uH%}~g z9(CEEAcvK)s+Ezecj)flBqk0y4JD3=Rvi~wxE6HHsk+l?nML6n)BD#>Qq$w2J3Q-t z`TmTj{o}jJNKkfSemP+T5@AtxAW}OnvjNl6OZ6;%P(>rlqRYc}mrVR*d0@r68MJ!Y zHDy{;4N5JW`n^4u7?sa?)aFCq4{JSE?e<@5MkV9&4$N4p0~KA>wkonBJV&k05ApVv zD078*`p;w}iahW9-ZG5!&ezBKS#!&64b~>0M zD_UqPC@d`eUIn06e@t0T@iD*7OcRQuBgrtVuP$J#pe_W;jT|$SKVtow&GYWRZqeP+ z|HPz$6=e6^g}+_u*}KR3hLyb@+*!&nC6nfkef?%@^>4$BBM*eM{oqsaWZd=^_ZrL( zcYa>WacDchcF*b)!KO7At=Q48w>%i&?=?HjO*A<&0zI3@iX2bhsqh7jrR^;5@ z_+SoW!-SO&N>)gkx~^~-%oh4@dC=HJ(5u(*3zbc$4Vuz+#khj8Lz`XrrCov`ExOOo z1BZ;gXt`{DnuBX#a;?FYs8O+;tvRpD4F`?rne*PI#Uz=D>78IF+dx+Nnd#;U@#EUP z8Y&tcS#X+P;xy3Y(umhvt_pgVw^O!B2pwuF7ncqF5Ou=lNlDf20&3>{W{>@-ayA1z z+=F@^E^%g?xd|!L3x?AkF0sDUjKRZ|{3CwEjdIZ#y@Os`V4EmYDoB!L<8PR-j}w4L z6KNftKjq^i@(uLUI6A5hq}2Zie_9XC_yZ69m)>Y~&4`n)YaYLRq#izN&d#B~PQEgg zXa6Z+q{r)`n0xn5`LCKebdaLM6WcF^!#gcIkx>vDH}6HaEh&L1yYfec%Xj*^g$A$> z@ivw0e`7ww+kkCb-TVE*$nW=$TW{dvyw&QJNyR>chu zIXFaoSvBM1HTQFScg8DU4(xJ^*Y^Chfok)FQQR?Q%VOX8Wl9=9xihuskwh2oP@}%q)pU6_-({uZ7=URsf=C1SbtBKC3DeLF_rD(F+TzQRY>acC| zgt8U0rd6KYBeC5j7(ISAS!VJ09w}&qU1`O(R!S{0M6`eOK2T7G^+>JAK zH~R58#*olkDx;pey7UF@?$+Rmbe3z@-A~NQ#{Rt{hiSZ#1@=Y@qN%nbFUkWek1^k= zPI;o?Z%)DoR)TtiQH(4PzG}-9HJ~hUb{5~%#}{^SeLVd9VQ)9!D<{}ao_Q;Qb+UX( z!@$5M>+^m(P(V)kV<-4sAEn4w(S8tk0!;=z1{KB{oQ?x8D$t7xqMe{v*KTlvov0+L zqYefq82M*Tkgh=I2mhoBHD!XmA)g?=FiF@gs5fN+gJzVI1e*Lb;`Xp@!yA@+ri^oY z;`Mey`MiKOE7?_f8~RlV0{lOuzM9>!XScOc!;OoBUj3>*e14nLM3+$w8{P|_RMT=) z=Cj0MdACl!aJw>#{cy^uTE@Dh$K98&bKEd1$ESPtlb6S?Hzl# zXKZ4w8DD9KL1c-0?S(E8c!IsBIfi!nb;Nal`F(S$8V0eV!5V zvG=nLW1_=q9Xu?_$EUt2rYoGLhu)6*u7JMFopFM!I29U zjOVc;8ic>i2H<~gg8f(X&AHXNtFK&WH_?4SZ(*ZrTd&{PJH2DmgylyrS;sk**PGdv_T)MYzdEtd4 z#T{db)k1ZjZh0pBrAM~)AGc9>iZ^d`UdF~$@?e~RpD_JWzc$xXH?QnG!}gjTQL$`u z(eqKq9yTW)U*9&4!`e5d-SwwQR+r+JPP}<%Os~_WJ8w^Z&h{S4xHrMwsY(8a*B@^d zO&6NJF}R+;#X4^G*xnrFl#SKFv$DPRcI4jANNe4oa+IL;bpsopcZWpn`-)n6D2?~s z&u{r2DhwK8PDNXs^FVkNMjlY#C@A*8fzJ((y5MU~`c)tsBvhW63>n z-m>yli(j%jul4f2^KNLxp^hncXXj7OT^1a3>UHttVBRP7}vt;rBf5ZGPGAkmsqhKBX}(?(Lk?yWUTEvgq>k*#|-tTgzP4 zY>UTz9kdVL(8Sy4CqsEvx6#hq ztDX!w;CSYNef<6zkE5@?A*6~C#sl}s_T84>ubFm4)a(m)Z@09wv5l+GzW1KfTG**U z@BRGwpQv(!epERtLpKy~$Dg2w0!ICz051f}hW{foZ8&!ai-Nt5W_6RfKOQgY)&wFL zHsFNXA2vbopaBQu0E%Eo1O|=&^qQrd{C2N`#CsJa>{WoxEq(f4X>KcAepbGu+&tEA z)AOG@JI)Pj?B4rc*Mub-*+DkU=uLxmo7i6p>|M({Yy325*L3!(eZi**OHtU#5vIkN z!%8Oibjn>hCwkVsoE|5x%uHIt@!Y-g++vRv{ft)rHnq!vo;Iv|S$*&NB)agt?<_S; zIJ!1sL-(_Lgp7ivIWG?8y$DIGZtyZ{)77BNW%5k_qD55_Gq00vCcV9J*}(L4TJgf@ zW_L`tRq+eAO>X(*!wrwF<_@tbZu9ynuku1RME5xR=u!BD!RPv~>0iJL#xj|C)YAsu3ocpVo=G6*`=PZ;!-9!`aACqmS+x1+BC~- zd84L74!+#Ps2KAm{pqp9?V~3T+p@z^?VN7y_VXcEw;<=r;PwGW2dtjB!nSG6;;e^a zhhEp*qGzWMzwX@qq+^FxiF?+kwsvAXJ>IXI_vxlL^1GXLj4E9F7G2x2j4V&Tu)}KY z*2bqgb+{8;ZFa9|^cL%l5d$J`?%b{HcU5`E>B{z~>3g5-vQ51(c+A7tXsTxE*eega z&0YEN(yFZMJExWPe{|+ihda^DYWQx8Y6fPP-X57zl)lD$$Zx5$(zX}6xjlQ7x7%%; z=eRb3@jI^#jTo`VC}!`eh2h@nDR1O&iv*oL`Q3X?nb9iVcgXow!y8_n6ZdlJsx47f zxs@lbo*6z`KXyKXvGd+{hQGSqoA0hm8tKPNOOk0~&w-=E0yszrN1@bL!BOgV3+K3B2VcLJxj&+1QNN}y_yZS>R}UWZ@}LVD z<-TjA`Q`2xOIOx{Sz?D{3~Vcei1&7ZL7mt;$>TW3!BRtc`tjZQLMR zh1I~wn!dN%xJ&2n?w*)YvD;1(FsjTBdhPJSX~!OSmxSKvW-x15D|R9K zID2)0gXK1{c>U9hwT+qEu7v)|b$fhS>iuxq>*}l`7e*K!fZ#TtZ>4&yWOJB`-yS?{@4%4nbC@8Xdct3D@v2}+p zXVx~&DY(7z{l`%cj7#s!ny>swJz~a;y>g`>Pcot9@!2VH@!LyNn^YHB_&D}^63SWK z`om9$7IfcPJ$zRF_wC_wwN0t@AK7qy zGlNqCW;y(^$Exio(ky4aN=$C`bkw~;zWKeqCQb;wZJ}`8;kbBUtDV99FAlyWAWjs7 z6SLx<|738&yWEMlr}MV07sZ-Sa%LZIlcDT6=%)_#Mp+AD>P>Kk?+?bH8+Z)1r9C_~`8Ets9(GTE}`H4~Zx! z4&2~tb9#DXOGV+V`IW~E3M)n(@3Jy&%#7ud$G0uVm>gSjs{7F%E*G*Rg7~@lpU)2a z$=bZNyOH0a0`na?nP2jPy`y{`n0u-&pLe7RKK8RiJ{Fz_eZnTRUH)uN?1!x;=iO^3 zcQIe?zr7;JC2#q3+lJPHS_A*;a+irP`EaW10k)`|v;vd`t$1VqW6SLCAF|ccxbBp7 z9oGzzu^uoWK;QHl#S)p}6EL{N3A+Y<0lq<9ztOjxlwNywB|jT=y7#A%D|Yl+P-{q*=)^`mh$&ZL00f>&$(KP}9(7uX%>Y-Aqyw9G89vxW3C zrzY_8(+6=scg;u&Ul`=1kgc7?-I^sm_1p7BSB9KZyX`%k(er4@u9dI-{EVku@xE?; zzUWHm(YANr-bpQcU)Zz3p}jMya;L01BV-bya;Fr)CF*634`iLf0o59GM`VUY*t4P? zA!RU0FgGf#t}q1Yrm75Oz_Xy+14w3&o!ua{kw1VC;L_n+EC>UTKrGmxB7ZvT2;0aF6Y9(i%H)qHfqEa!AUdm z-`~#i)-Q;Sn4%_3!CU6=VK(dL+AfX0b}_@LeQo8~;zxlW866v!Tc%lCM+W>uTU&+` zZ`t*-T2QcQRodo%X`pta6_+@k+;9$;y^@ zW}7R51>O4HgZ-o->xXqLUXUvJ)j|1=YBclO?WFY`MOU)cZ0WbPc4M(+!nvz!D)Ov1 zdyn0c{n=qjLBG|muLidxujF1iyu4=CW|V&B{DbD?;QbA2kXcptDZ_R<5;-2%x~H{{ znzHy*e?iR^rTx!4`B8WKuR3w($w$ss)qYox(aVfx)bgj?x?i~{`odY}^wE~={;|m6 z{HY1&dR)AHAz#?^$(NCC@fXbYxw;>VU3B@-1OG?6R=rVd8~NyL%S*Y162mC_&WH9? z*i{+(8mCrPm-9DJ<@~k!T?YmOwk-Jb0XJ9QLwL)AKORt{;op|{cFUri=*%|ODTX=h zT9gxQVJissI0(GQp(Q<}3x`3#N5EgJ6;rUOdV}Gn{4*PyH);KGhEG+(bVKyprr%#y4`nzxcqfVG9`qn9Y?G3jD z;ijO!KR#jh*MNQ)qz3#WXW`l_^9;US-C6k8_x|zuHwAk6?fG*3yYP$cOt%zTj0_Px z{K%j7>ir0rq~@Z z;*T95rn;=ABFvuk96lsD+~l{|jX{QM!!Au)c1A^|x|Gk4G(C3zRok+|+nsv)bnY4T zymQ+MpCR^YarT7tvgFlAC&f(Mxo1)L<6^$tt=8sUMd{`%;*U`~UG1E*c}g3{kt;i7 zj!4K@-ThOcL(8YB1c~+yiRyb(B4P-|2SVg{W|5~xV!VxGIEZ$ zoIJkUZ%1ZW@1asO=d1A)TxG3-i}m^opFei3UVr|H@03zrRDhR{FMYP!Rd+TCXRCP2 zwY?68v(;9AbWozXxv#rI^ar%zT(ycmSH-tU;e@JeB2_j{FCTogT1K_h)dokaqCc!H zp+mIhTs1r)$vab;C5Atx{{siB3Ge}5-N7pUNcM*gRt;_s?`V3x_G)G8vObKKv*%Yk zD%L(&bm*06+fml_#h>4&<~5?$?%JERzt@#lcb*n){q?6g&Ntp|dDJ^O)zG73c?9pn zFG-^hz3j;w+4oSJHlZ^wrZxPM_O3@m|4OHn4(cai=KEG|A5=T&dEmgVt!d|Yxv5$xJ-I(@%r93e?9X0KtH7DKt(t;X>s%sW8u_sU7BtA`4jV6{#>8-uAe%s z^#1(wt+BqFGty^VNNscP*^%j4<41q#l`-hj-uA{5T&@Q{Y}CGwWOjeYyxp_r&uj61 z(7>s^#uqKhJ8^B+JG+lTXD7d`UC5bQv0&>Qn-$Ek!5i0?&TJASSnqr*^WmG9+e;)} zoXz?PgH!v?>$8MC(riS7P2w7hgEP)@+s-K6d+cz{u_pruKfTtxkI|Lx>dGdD;`6H# z>=j#|T|-yyhzu4?3V9=KTXgsBPwkezxvVS^_f`}xE<0Fbv@Ce@!`g#q%hxFn+r8X4 zl&~-T(0GJWUw>R8$KH$R1 z^l_Kf!=rgH;Jktxu9xb4=zs)o(k7*xE(-l1tr7;Nr!zg?Ozif`?%o-X2u8&42W8n)8C^1nPL=&{%slh3X5AjwnRy#)XLs!P z>CH6uGiiJccX-zht}|Dh8a{AEzYG*GX0&kqxVdYe4Q`j&(YbK!%}ag!YPPxTP3?Zz zd**E8^OKx=4z97;A7S!y*4}Qx_8MICs-)khtL59;z3Ds4bn>a{F;+R5sf#XE zCn^GNJQG><9WU6};iX8r#Au%V>(ou{d2OApOiVmoHRehB^^nY8`AWejk3HRgUDnuO zcBfM2*jqd9@N8yYjGxo&xNZz<43cVC?>cQx>LgdsVId<<*Y@>D9A$5_^>poTUwz8( z-68G&bKrqV2z(7dL-@Mo?o)oB{&V|&z^fFVy?|D=QGY z(1A^!8OZJ~Yc%H3l=v=F$UEcC%yIS_vE+e4$)PnJhlCWDbO~!ZMiyLYY*_w$*wAwf zvEffchHl-mZAr|y>RqPK-)^2GzqKcZ|E4hGWpeo(myr}%k%3Oy3+_NNiPVR}$y`8Gd z8Oz~de+pjQmVK`N-?^-q=gfiT)m;-{SfL;Tho^z3FDCaTN-m6%Y*}kxJ$i3d*=4Hi z!h*81RN3i&WWxSm_#D=ia)x;ne6(aQ50~Y`-|QB|C2PKi^^1rM_M*c5VRaQr1&chW zW;i2*-{k8>fI#y%)djI){0{&K;9nb(^sYaK!TkmJ!+Y1R-C9jGu{P7MHSwBL)K!mw zkA-OjrKUpa7PfHA?@75+94!I3qKX%$h$QVZv=N&sP3nz65l#)LSC$mP34{K!54}vT z;!uXTJfp#lp4GazLABs_{L-IfCbe7ocw54$nIliW>yRFMWm3uPHU-DFmREOnzd4jQ z$79x!y@sN^t9@)ODi^Y&dd%(^&~)^Tg)aj4x)Eby;!A&vJacJLYPZ}H`?9uMs7nWP z3t#yOTP-piKf`bC!|KA+F2}kpc&IkHbK+EjX!D@1lY9o>h)%9uyw4`|-KwX)Ap@42 zAG7%N_Jylf9QK$uihKLKuzy&e*l{yC2GPf>Y>NtON;+$G??4;V| z6O7yYjwu+$o9AW?M3eUc~LtfxQPQZ74jKvu#^6?(-6&dobODO z>fO?S-4P$kM!&ZLx4=xl+C8CuzcaR?v1cLojc30>X2aucS3j94H#)H~{`|b$78moq zKHceTNR?f$M}RaDm7So=xUl`bgxpC~N2*=CTxORV_iNar~3 z*hbktk_@+vEgRO?d>E?mO`|oIb3HD%ddu5TzGB~0_W|wQRWsLbXk^)9ccf{%E|2-` z9uI3fbd_t-4t0m3s=(fA_u!`Si$|Mn>JfF39NEtAX=T_4X*Z|PSnCM(6lzHGJ`dh3 zH=J;LUzpnH!N>JhJ{8+`H<^`mA#kf=D{pAJ@Og@Huab^ShDEEUEt=9U<#_ywv5m}l zg-)Uc^7hZwoSII#KYcXnEqgtzZ28QKzn$GYd&%T!NpnIr hw~lR7s6H}cL+R7S_as{ow}yA$a9#^??V*k6{{deZu|og= literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestFramework.2.1.0/.signature.p7s b/Application/packages/MSTest.TestFramework.2.1.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..c3b98aaa3b4a9ca136c25780f977b039c4b71557 GIT binary patch literal 9355 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%0A*OoZBo@9P!M@LV2=-xS?Q zcFO8NsNkJ4Sjd+hcj4rP@}Bs|;%~A~$ZS~0B0GM<b$X}Yx{`|*#)`y@mdh3v^BQBE)n^%8t61rrYkCq%)Q=V?wh=R*;Md~N`R zR_RPq4uW?A03orJ$zmIKbq5LQ6mD4+b46Kx3}g_E!}F_puT-Fvy_AEn-_iw-c&wNW zT~$OH>q?=4{`EF3bF^j0YA<~P(SH$VT3mZ%?{#}D@~UyTDLd3+>vR6=7x5ZCUvk*} zBtI5>Tjz7JyF)K)g<3|MqD^-QF4UW(O_NzY6ZO+>DyLissMf1TF@eB73iV& z%u#DEgH+#caOc>lK(3Ul;u`44J2?hskgvO zN`RKICW_x!Gta6xh}g`zqR^+vk$A?k3HZ7kFA&VXpx3)jYN7|U!c0U_UsXH(?ExKsu4Gw5^vzQ=zPf7mL~TM7ueavt9#$s*IUs4e(8}Om z3aoV$O*ZTyGZyZ%?k5k zJ{zSR$(YbMtH599GQOp=pka-H8~}Gu1H_m zOYRR4eFPPFfvpuU`>pZBCC$H-R$DR()17WgRUsl10gbP)4#Iirq(SXJ-mEVjRo7Uw zzU38d8Rw;_epYS>qnYuc1~nG+m3lN7OiI-1i>|K0j0op|zSfh2E&shmFeN%k z63%+!{j&Tc=w!DwYzk9kj4T=(%uH;}?i~`visRht+ny&dd6PRkbIC}Yoj6;ADWDbQ z0SiLfFwG4dmDjqWB{0H!13g=5XT#;pqP}I0b{0?0)Q5N>6WZ|}ri-_o!Q#v+5hUS& zN1_MUkOXRQpieZ1Fd*|^t_JtF9p%HoL{;jI3P_L#FK-nLw&_XAkYnVb624etA z3J6L=q30U&ecTf5jY{S69l>@Ix}cQ@a zo%()XaegC*SCW5{Zugk8mP7x>7Q)NvcCmQd zU}v&_A+SI3uEQNV7qUp5Vo)CKc&Db;0M-Upl7f;}D1>^uz$$-AVjRq*D`J-lh=%4y zTmC}2nF22bD4FdGz>hY*A~sVE#J6mIV*|xgPt_?VnP7$uZHO#y#)n3sp$cjX-s~#1 zZ1?vo`$$jk*;P*1;~u$c^20Cmj^SAaHit+D%Gqsdf?INV^|N#+I&YbF`JntLQ_|eGwDRk&!@5A!jP*w;*o-3Qx8A)8lc&mX}jdKF)y(t+rA#5Lu>hE>FvJJZwBQ^8B()I~)=ysehM1Dc>ie zFVbKpUqD|A0$sZNaI;|Go^~E7jTMtZq85CDAiFaTP3MgS`AHi6u9qdwuwco@F$h*g zA0hU>yrvv`YhCr0W_xwo>td4{Jec$zr+WO1wNl*vi8`VFeTpy0R4}FVK<{2`USnfyPoTZROuZL@1(`YUFq@DC4@f zLKNE}7ClBXDZu!U6m9`$mkEMn8`jL0d+!q3@_9T_+LuyEsGK zgP9v#-Mgjyh7q69V4CX6nb$8LOR-f3v~=uOONO0Ps2*a+aF*wWpLhV;2%X%89{eM^)x2-)KozHx{4$|lya7ke+UA;5CE8Eh zS%rp5OT~uKEIQ02n^RKhktX3iUFhFYEOr;W|LSNS#iXSFIB-oD%Rbq4TzgkOIn1bb zn9q#mb|*v9OTWi5f?rSNRk^{nDQ-sV(AR)@9rm}#iG{dmh~JoDmrf$j?@$sD8B$xd zFv8;k3oK91!)Z^Q5*FTr3OLw{DXh2)xbG|wACVyJa>M}Q9T);qPvL-%gcgse=IH`T zE2*A>Sv#@boX{emiic6{d_YC#D49vRXGz`Q@^3GDI4#;s^e`{?5n3iKo7UeQBsMMZ z-HS+}{Qzli-z+yz-`2F{YJI<0n|fVA5BFS(L+2q=?L$I{E8<^oDLi^4z6#3L7l3>S z|M29lanp_eK}7{ONWCA1YssYE637(hv)VU+$y{|l&BS|t8e=k&&|#s_XRM zVCr6IkBjhqRaKNAN*pQHxuNVqL(2p&Bw1tg{k|#Y=cItDN$UfT*6XScJ9*GP>==2< z)~D}0mFE=IQ|=A$230bGV46Lc43+Qqc`U)Irq6Ie%JoO&>jn{?dUl+H53Oi0t{hR7 zCPWt5D+ST^ISNXDa16ln4tUNRgaH?8M0bIKTTr8S6-#`KDd^Ru2N(ksUXenO7UD#a zC$w2GeDojU!-bzivKp3BT&I(qb?pMqN>CLth!QIjaSvY4Lf#u8pfo%rG@2>R6bzuL zOJ{1yU+wnKIrC}n#=)MU9iUs6Mr0ZUErJ#S9ub0;`(R)-II3XlJUm~p!fNNfMP-1# zXmqVPz+~|oZ8(lGl7iGjoyzndzopS%=!Ldtuq-4UFDAu?R8${OB4`OOaLM*YvsKgv zk120DKw$92wg@VXlh#?wT=(gmwJ;KRu^iVDX>hHgxrI6K67T{ko4|H9n;mN)`lvT& zHf0ULJCu9|3}>N60T}>cbizp+jf4$6$u(P{D)xKf zml`%3=1@iaXIm9kz2%T;Wm>N0GTWGUsP#z1RZHNuOWnk69FVLhuKg}h+=d7abS0YF z3xe9UOQR~wN2U2+taw!(wR`npM}&w`utqp>Ox=j1mh;!D$%;|k^X@RP$|BB5Ks|d8<6KP z3bL1CG{7k?xvOUJR^=aD8uVCQ++l0w zcJ_cSxr7Het&5(rntD`1sysdJJN0g8v(9Ob

8PH{ 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

|KfQ47k$R$p&LHmXkRuiv#C=z68% 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

azipo+|QzTMRg+ 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 z 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¥v7u_D$ASbHR57c5e$CK7h81xTTq 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

_67kgZ4#LZIQ)l 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 literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..c8892b0 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,1102 @@ + + + + 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 or sets the cancellation token source. This token source is cancelled when test timesout. Also when explicitly cancelled the test will be aborted + + + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..154749d21ab5dfcc3455709e328acf2d42e3aeda GIT binary patch literal 40944 zcmeHw2V7H0xA@$fd+*q=_g>ev zuHChlU3>4nu3i6U<|ZMC?(X;A`~Khiz2C;=+&O2?oI7*o%sJDNjq5lbaS%dW`1|@5 zp{?-5pQZ%Z7UUf%q^)$hEA5N)ud}x*|HQ>PL4(|>#mk*^KxVv zIkJeBiLz`>s@liON>s}rIw2CFSc-$>kLz_YzU?}yA+w+q2qghUz*3Ls;3-k88(fIqw859p2=6tt_`P|S+|D}NeLOoC5eklPX`3K6=Em0oCBvWDrzt{VW++Ln#CnAft{aVbC^i@&eSL(4gjx=E z_cE%!oc6s`8ZEa+NJMiADCit|paUQUP#3O8+lo0{mg-9P$BZ8EBwSJj7yV)otc9H1 zll}-%az_wDWI5}qLb6ZY%9psRl_MUqy`dz z-=~587qKXoZ-(L$W+)a

(2jATB9)fs%UM5RV|1!jZcI3Fl)`74tErJRb|In2#yt z`S{%x^D)Jc?@G(TUKkH2Qf*MOygGiZA1#-`Q|^Y5Aetku0SP@=KTWWjCM*r|Fy_UF zL@h|r9InP4o*uPnj=j7#PIZB-I*_pUv!pp1&=wq_YejM^9 z!s*eGQ^j9Ma}AB=2 z&9O7GCRWU<2D-?G_i@a0QIUn~6~d_=V8^x7_~91w?c^{ZL|zv10C?yE0rW$Bo+bzq zqN{F}0!=-f&1awezBq9PN}-{4JUcnKD3OR}^JF-3EK%MNfR_Wy&Cz2XwqPS%(B8wr zV<3mP$8uXEeS-~04!UGK8iPUbNawS7JPq16P@un|0x(2y86KP8fX#<2ct7J2#@Z8+ zM+i|^9^{r&z;Qr#7z>d1iMe9vA0iuiq?&?3C*cW>Me=QJdG#0JoazDHYz%6`!t695 z&;Su*CvS|~FA+0dRy2nvX1I3pM5vZ2r@FieZfR2h4hFL}n6$x?7)>aa;LL~_O&FwD z^>OWR4K?9Fu(;X)ItBM`1)_Up!-HnZu>a|X%gXVn^x%82HkXU)FJo;k=i3Gnb;_YR zjEDBSc|6=k#^aaDnKG;~Za3BqkQeHqF%(Y|0rmDc^7jjfxtd5^q-W(K)dS=plkxaL zy+LJ+$JENjDp$>8=l8h4V7c9lJ;R&NS`AiR?H^PI>iNUUME$TbxckiY^!>_!Z~IYY zJjkeNj$hzs7$C72F^r5BI887eZ9_YV zZ8w9b*I!w%!8oA{p>`suCm134IWR&y)&}wL6i#+wkMAG{rQvyk49TFn;O5zGhq~c- znFmh@-V$1yS<#_tVxX9}1=gz}8qnWHNs+yUXCT8bg&~TWy_^J9**JRA33^x#Ay1@% zE)rGoF&D#kXm7!1Ab9S_v7#F23C0~>R#fsyCLOVU0bHA=C5RJUwYA_Iq7nOqXoLd~ z>jP|%lLzYqAWBpW|KE!eL=PO41y3Q?gAUXqD!>5){IdoE6qyXf!Cb&fsDa2K@)ihL zUlvHqVXnXkHQ)(Fwn&qNGaYqp;2|>4Vl-`m1bpq_QQI_kSOxO}hP+pV-%GqX_%o2g zxZ{u~8UwRHO2pV}Isn4;3gV9S_5+POfW{g7Qh6U>^k#G&A+w)Jr?(hO0q9nq51Dzm zyoZolY60(Mt7~V$R+wW;vCW{tr)oNZXv^Szpcz|Q4r>>Ym4lRP zC*=t>odL0v!i&J>nl8Yqlkz2eO&1_bc@iLUfj$c8VlX@K)m^>%+Diozo>XWr6?wLi z2qmIYsRdUeaCc}g6_iRDiG`*s6xMVD;N@h*RDeks4Sx7I*-N>eH4QluM&2EB@-R^> z5rGtuL?jV{RV|Qkz3dpM4AHiy(3FHWq(GSlimzY4UKQKYU+iISR85l#w95>MA2f19 zzrRCbs5kPF1<3 z8IF-;iU9hnIDsI93KIxIF-;%{W;TH!;@SDb3eW>Y!%Ab7SHBQ)*xGZr)dzHQ?N({} z@K-Jt872u1#z_K9PR-^AflNjGFQ*2*al82*2EWh-`40K<++YA#4juRXxdB!*^yd%e z2Iesjzwxi;27>Pw__Mje0C@&}{rBbuQ16~N?|X9t0d$lp91~?6_~G2ZwbJYW7x@0{ zV1OJ}7C)>GMBg7&=i7#Re78DsTto0~U(oawa@^-?L$_D5C*`_5SNK1Tfa`Ob&?RO_KvsGebQl!t)37gXZQH z`PXL%unhPwP7c^!|Esu+eUx#O<0Z$x7MG<84uUB^vcmq91Pu{~JS-rhz_Qwhw)cRP zrM;D>3nMHgk%4b`vVI>JgbwYkgaW^74j#~_G=doicH9zs5pBUZv={L;Fl5N87Mz#J z`!Vi(%!mEBHQ}?vi+mqiP^y6eB$D@qzOWK9{$iLRfq{r>vyoNEC>fy$xGYHE=J*}w zLp%_m78KdHlyJN)wD~Y|V%<1|y)m$(Ls{C3Jgo%`mnqf2#6mP5*NA~kzefTanlsj$ zw)3#JvKIvpgW7O_i3CoFpd@hm=R%ZkE8+9mmP6bWuyIie32@CKF67{+kGE%_L;x6x zC*IX1f|K^}aKdXKY53T!@WATsxtI zKbK=)>H+c9UdqGGf~h7YWuRR`3BxdROf7ohAo5glB-~O7V+XPT!i2a#C{rqw2)%g@ zQXT|op`*W$A))}1qC&r4B|I;~^aU3u{Ubmy!$K01UBIM>=mtjtF(c;72Y_G^;|0?b znnz|pUbX4+{JW^aGFpp zAe$vZNtou^TLv%22FCXii(w`>5PY1d;dr1J#fUkA$u!KrJNR+AR-P6#plt71nPf`D zT)|{KNAKXrh2*>*EB~w}-SC%*>y5@BkW{bOh}% z-b77gjO+%nF!6yosX+<$9yD7yFDM3kf<}GO8VxAITfiYtuVfbYax&nyv?dqwZ4ifj zQl1Tr9BhtJzN3ec)6cPUgrUb7Y!1 za>9g&T!=j~z8?gGyN z(CIZ3_1cV_ba){`uR(jaX`r=9MCV~H3b7Q`Y}O_^0-pB)9}NqpnqgTQ7&7DotW>+% z^Xm%n4Eh7*kFYm_WDEEMUr&7W6#N7t)RUZP1i=&YfDVW$%iviD{-6Pbj`JW^o6;CZ zC{4sZ8T1RkM9iQL0u1Ldp<-*a8Q#vI!^{*5294!os3EYa0H<$~^hW}(6CQiP2@!)f zG3g+oKY?B(H=5;S+6oyIXoGo1Fc^*|{M{J*#*si5q2o4h0KT%t@TLWZeFSfSa|K8c zp}mCC4IqPptZ^Ma^RS#2NJ5Fh7fC1vUADw@FCy8}3a4`j<({Pvq@4++7lHMl&chIw zwDAk!xgx>**XRJK=L^YlYg;r(@(AQsvHZo-9^K$>0eT{N<5D4hZw?37d51Nw&u%MB z*=)7kT7;6V-iYkc8Y|52Pw0^Zwt@HBqy1t`pJ|Etw-RVA#_2s03~yUwZFB<340;8% z5<`FCb~Pn6Y)RaOEeNa&P>D7Pu5y)V7lA7YoC;8ao{4V)%(J))x#vujR)vwmhd@uTe#oWJ8XFFW zLIZeDAzg#>lFQ~&h-NUQ4@L9*sp+s+pCCi{W8aZor7`= zT5G`WK{*EPG+-KV%A042!VFjyn4MUmjwZ|o=8q``%-f0q zd&(r(K6J~*pJ$D<2JD0+7%*1mKGce8%(Fp*40)}no?w$x2{u&_ZV|zgqB4R_fXOJv zF0vTWwG`d0fK{u>wrH_98aTZP#%e-}0@ysF2`Or1!s3DRkO@oTRY7M>STfHMdDkK` zp_8!UwJ{Ot_eHKtB)F*uw!dd+4rfWvw1y{g8|Ey zMl;!{rU`4s(wIRg3+5#VO+ckW9Ww+yCs+}h zW_6u66vcYtydrc@G!TtIdIPqR*OwWI9vd(p&Ol}qN`;vN=B!~off{s4W)YF8W<*h&iOxSha8Z^>`J?3pdvrO1W-d2RH|4oA2N0!T%XI*IIf9%GSP!t5Us13ruK{xmbus0IGAGb@111D} zIgM5ruo_@5XV5`YUIXSFdSc28WqwE1mF)XY*iPkLM4krhhHW%+8Pzvo%b05@#>Dw6 z?-uH2!p`#UqTfxN$;?A^--M+xPtkBc{DvY_pSsR_g>DmU5?aqWPQOI~{y1+Eausc4 z-lJp#_D;Bs`G6K0uo?7z<`eo9z;gQ0=NUvL2eKHVo-qQd5Kjt0iY-sTx1nO;+!-{_ zdOixL!M|8t7u)isR1(QMAlyYe0+vj$eZot$D_};>{t|b-oe85YJpof2%6*2IV@GKX zSTaOIJ8F;tvnAMQ16GG%GYnWb!4?~^H&(dZ1_O4DV7m?234$FnVDq_{^P&O!g<$s# z*bA<*yq-J(L={u50jtM{D+AL3dCV!8pGGW20W&=sRky(s zPJlET!L$PAbt>y`DONz?8t5>E08W;NP2*f+DJ+vhtYn;PtUpV~^)Z%Z)8=KrrEpP4 zQn&I_9OO%6R^~LPhnv-h#x17i`Td^RV?ar?ZkPQ+}lL zA4y>8xD?M|V?Jg!Q2rKUf3bFzPi+1O2U{203T!!Cg!y^sBGK5N=a$<)p1qfA(!52L z^;1sy$5xFthI`PM#`-r;|IgVfev8rPn2$2tBSueEZvPcISu6Sx=ij%?Z{-_p5(i!y z^#n*E)-rE{SEteM#3uv-q!FfYkTa<*YoBbXU?{~wc=5p{5_l*V(%@SF@(I7dFfMRl zrja>+Hc)=d54+#M-wq(hP%E~lI528p4GZJN=$YRW%5>sSSa_K$L{-JGa{!Qmb$L~> z2-O8>1M6oD>k}ACU^IcP2!u5}|sLz#4AG#djWJ7_5~;r4g^>iR+@XLkru&X{x(2q&bf`=Q^PGEB8py1KS%3; zA5rVbYV19lZYzW|UW>g)i)k4p0SW$;l5z(552y#!bren2unYluG#yGsgR~ZukbWTO z0Pv-tE0j`6v#9z|stDi%!6<+)1*MRC&T>9AgOZAPAZ3{3I&5dIkgNmBUCGZ-D%k1} zWl7rg9wmuCfaFee2<1lO9R^EuSHP$3NUkO5wko8%NZbG>NqCeUI%ip*R?=9*c8C&d zX;{NbhSJegl+8$h5}WaK2WmdF@jZHF9Rl!Y35E-yrOqe~()H=~4D=ec-gY*vqGG9q z0MGDN(4ipH1~l0K%DT~=0Y*~`ZI9FM(Fh{#H_>BAuMu)M?~z=HWnLn53evr(9U>{` z0rik~9kn8I#IV15f+L1qBpcY8vqS9wI-(qa&ZrMS8JZ5T7W#=RfScWC0VbmhTsN5G z?icvLJ&akf)RCe^0IQ*W0BfRS06o!dfc^wFL=PbyPUta+2c;4Ty%VYr=@gRAL`@*A zLm2@36F3<47le|xgriaDh@cxuXP}wrsi2UgM?l(IxBx9cw*|`}?JqnGFiAL=!gU)# z%|!i$x9Js-cH>~mLJm&f=3>a@W4KUA(jp8~3A{~UEh|j9P2fH;PVckE5ZPckG6HK! zF(sl3;dCHrM+_GdSgR^dr&hyoAAt*WTjBTKBJd1>i%AU+5cq~Wl}|(4 zIN)Qs&_Wto$cOgw;U5jH6hc}E|7h4pwScq*{G*}$R*<%We>CX98X(?Rr9l@`fKpTi za_s=pu)pd6&<#8@4Y8vdKu^5qio5{Q$QxA$=mYsQY7Z7nqd~|WU?J@1Q?OpF1LJb6~)i`g-69SIuQ;YKkRuVW0mVc_jZgpka zBfQWDooU(wZhGH{vGS#WE89IGDe7y#i*5w31Qj{oH1z*Ss z)oNAwN%^^ICCUbpf!b1=s@5t|bdKKN4@G38=rc4qDs6r@Ka}G4O*uc54I~4Vl=DMf zyC&*Y`ivAJJUS;sk6)0O(N7%`gn|O2LL-&o{sG~^QK7*Rk)c5m5mAbWpojqf!214v zK>>k~85&s+HHy=u=4GiHqecnZjNU4}IyyTyOP#IG!J;)e5o*0EBTLs94zCjPb$WHS zPlQUZLfN_$jW#QzJBrH4NsZI!^ohCZl#H~D6eCx-CM!!#8l>}Srp{4oAuBqkw)ygm8mWB^tpNZhzu>%QKQYT!~kzMy_Zd-tMy$C8VXHG zQR{RXZJav0yILEs(MM_Wa#GQEIKnkKI=wazzr)1#t;XWi`W|pIEl!oGHYmzK!SbSY zm1(#G*eVzpb--AOn5f43H*i3645@If8uu|&3oDS+`3I^*SnQATKwxu~u17eSJjw=T zsM1+k6>1xnYA2X#u83LjIO3bj_NvIwHlW~6827!b_cCI|d!Rz5JZzRFZ20sCOJUacjR zu)K_{)CzV;Y%og0W;bI^3VWbP))SiKfR%y{Qxmir@LGD}(2?HQ7@VoiQ03^u!T9pD z6;x#;r5LhU>%+|_ssV?N8xozKqtU9vF_j$$YJ{y7EKN(Q3nMqxWDclVUWOTFqPM|= z(S)H0b@#mVbZp4wG!WW0Lzhv37Ha7Eqzt_|tBI^trK+=4+RSn(Nh&QUJql~KkH$PB zLY(9*Hu|R&EMbgQ=cEG{D6M&hTC38g^vH)%0TfO5o`3f8 z1enoa`zJLq4XuB@gimB&y*dYvFr80oRu&5Hp-#y(c|n+q#6v`2I|YU)Q6L_x2F0Uj z9oS_?dJc9QIJANrGE8I$X6T*@Mu_n2ts(_$vm(V%uo>JVg5K#zhMKWU%g3`Jj-g8B zjTtHCqu)pbT^o}|^HHZ6=Agv%S&KHf^z!*BZd>`g|03Hs)Xa)wi^L-f#2Df>is){J z;QVio`*ds?x%7p>vHj2DTU~+Jcqmm zDxfVVg&IVZQw-q?0*t<#Xiyezf)99`Y^W6WXh|Bx1}W^2ks*GOH0wY~(qvIAlhH^t zS~k}ZCJBOLU3ivSr3G6AfZLD>lQ2AkM$r&@VUU4xduKodC;k8)6*?wPl>>22i%hSC zbqk)&Xi+3M4?NpJVQQETut`=tySgw=BykisP@;)j)j}E8FPKoQMr?Mmnsgnk4v1}H zygZ~;paMrTm?h*uS3xL(3w@!mS22a7-6wth2FvQMaVUuX6eYx$gDN6mPjQYSw}h;-X4{u zO4k{+!6GT;YGMg6$#Is9t zGM6z@VP5bZD)4^GRRLGCGi){pu*(WI4NGc0g0);MI4cwf(}{TeqaB8jKz_gjnnsMe zwWbd#Vjk!Xo-Q#Tx~VT7Me4rba=_){u%jk5AY~xX;hh%o=ezI!BF%5XQbc6=i#xnHqPXqsOE^79#N$6#en*lQN&E+^4>zW9X^Pom-eGy*+t%4ImNq?k3 z1+Y&mgL45Tq)=5Ayk7@3$|mj3FK@R5%g%)ylO}{l3bMj_f&fUgfUHzznn4!Xkf#Sq z572y)p{=c1fTUi4&RFJ z`b+-0<@~rm{zS61k&~?#s#%WzsP4$Y$P)`KOE=XR)r%r;%7WImf)uun46v9CXk98; zA8Q%mKxO;IqF8HHCM$F{RG zfdZT_uXEn}Qn$shvSWy|MQu`L|R)~#@a05<{%MKp$l3>9|)sw5v; zAr{DJT8eC>l)#wHhu2Es0=tEbs$yGI1*ee(Q~`a{=@GXr+OixMSGW=rr zj|SFNpjNifDyYUPp$t{Q3{aLlArCr1ilBc$B@BjztBAtZVLK3m9e@EAt^;!*{cg$U zVh;Q#0L9V*+X4Zf3z8QJ1Z=-Ag0z$`5;z)n8OEq1aonwU6Ei*zvQ-61Fnw{tZmYDkmQ`GL17u3!y;}WLX%-AF*E?c zTPKDp@hK4gDgyu1hj#l`UwFR2XUKBv)t{{%-2dG3@wj0hIlZ$6$Ih7Oy1wDP(hKJ< z@3~TXI!Nk9kGIe^dS5tY(7qdeY{nhn_i0)8zMpvFL*C=t_uY0cdUpRsYI3aQq&+KU z$UArUTCVnT`S4qazO%;r&WnLv)>!YG8dBSNq;0s`QI@@XQb1hC)03M1Yf(XO@E+xH zCF)-j@T0I||NW>U$N?vXUAFA6;;YOk;71|U$;ePS{&MmCP%i%71&6U!!JiuboH-1b zI%8X4&48VnjRP(W%1w|NzypgGi}B48>=e{sEw(n;ci7q(e3uO%fZ^QEkaQ*x931pL zI542vVG-cQuy+JUMI5FWk8>EzFlyl`f-H9EJ7Y)aY+DOPpR)}Ni3)YXt^foGWgK|m za+Wf#Aq6N)#-qHP42S@8OY&WuEif}Aa6w}lb7K!>qys8pT?SzT6rSvB1*HDqwTuD< zLhSh^`9Q*B19Sq4!u7|}2s7jv3bBm_S>T3D#i05;RsgON7eR<2sw^;gS6l_`l(Fk} zknxOugf!hqC(3ljoDgClb`*#p3=}Scp}k08iy#0j!Y#%G5&`Uy0J{ViJjB@tDe4Gh z>IKkhsniWC&(io_f_{8)t?+l-vp z42A-@r~y_1R6EEfi2@t>H~q|mYr$wes-9XE80_EOTjkeX;T=#fRpqTx z1O|Ht1O})11=LHa7g!H&f=MW3sl;C*3 z4Hny(vheXmmWmuB+2S%XQ;rOHxwwHf%hP59myY#CHIFvAkfc|eF2Yy_8YeSgbP8-!p6 zb^*z5y#P-uOT&o)+3to5KX8izvl%y0(1&FUZ{G{37nr^9`Is-f0rx*P)~hx*`MkgJ zx`8%|?R4CTxR^&7LtUFkzny%Zf1_42MQB9YzNhK)UJNQ(_^S2CCdw_P_a|u!A6y<< ztMtsazW!O9>fL81toil+&3lqghaH!m+H8Ge*q|eMzuVmYDZ0VV<@wGB2l=k)h@Ee!OcoA#rq2x*?nGCzu$#6KLhE0fMlhsw;I{*IewfSCjZfbX2 z>;LSh43=ZY&o-Qv8L^5_3{XwlJTkAOYt2@Yms33&fHviQR z{strbb}B-J6(wL_f?!QonU49I!(aPC_|60uW9+Ad1k|>0Ypg4L`!N!}XP=0o;g?q9 z0gnb4#s2Cl+QEJH1rI=cn}$Nu;KnoiY+{guMY4{{K!8UC{81nkuMMMMO@r6b(XgUR zgEbKT)WS0>SmkJeBL~(*c$H&Zj}r#8mV1}n1~p%uSC;e(;ZZ=l*?$4Bb_E^4?H{a< zaClp`X)S5&&RAq`%F8A1H(TpM**K_g#WlQ)NYcXU6t7jyYZ?o8q9{`f@d_3;MS&*+ zc+J}riTVPL*R-%%3sQ1mUx4M#1iA*e@vkG|TUW+5wgqmji5u%gi2|UM0{#NvK9mA( zMqvy*E_~+0?I((87{5ge^6`4Ie1%xKO+L^&<@*v?%jNqL#ua9QpA2nVA$FQ1RXZ-pkO!?h9T|Lu5nnt3MUq&stw95Md$#ibU$5|!n$WHUs4L!s$|HL!FDq7|3Rz;=vB>OY^q)BrdKOJF+c|CgNqF#I3X0Qrq`nnsG^&})p)qojGs zTPuoBmlcPe1kzEOqLda2Ap<|E!=ascND<43JQ<2h71yIFZdqeRBZY$*#abccP^gSM zpDsiSH?wkFySHzf_Zc-Tx=wt$+;zZK$=Bo-t9zCeJLV{gxfd11oL|Z~GzI%fV1`s= z!?Hrl^VfSd!}_Ko6;`H-Q9P(ZA5tSu8!jWI+axNb3JC*Q+9<@B z$d~e4t5e}PIaTSZaK;po^!p1MrJJHU&gV!SO_NI*KF9Tj1EuU-SweWI!qve_SzoDC z`uiyZ{FH$m9jyG63O}XNfGUcP{99_~uBeG?W+8PhuURM@_GYB0WG&$i7<*YrSzA$y zWphdDp~_P0WJ!sMvdF~v2KBUrSjAa>qB=rH64!beY>f}(zzj>x_7^oGE*(O)cgM0>#J+e*0^ta zJodugCAYrREX%p%bAThCan3nyaGbSQa2us!{`091j&~X9!9VLl>-Mhk-j-9S}^3c zdcu{9$2RiD#dS}4_4V`Dz4fA6#DtD5SY0@yXZv2C7CqQD?cT|cGp*JxzZetvne+4E z+cD>UZ@o<0+;4Kac=gb?4tu-pAG*FqOBxKFT2M?0K_fhc3#i^j%(ds*Wi6;Veh9Z) zTBjw$?hnY$q-Qs%BO|8eQj_bburIW$8Sw5x>!@7Olcpbgf85}?c5mPYYef<+U!5DL zh*3nBH7koO3GboT=Qi;5P0?ogWScGurD(E!b2BqA)i;;D3#RimSq1JzVy$4TKER@A z&j?_!@?c|>;>IdkD4H8_1zpm}@Pa;l`h4#NaJBHqlJyEHuCF`SQXw*mD+|2GxCNL@7CH}YZl<$2L4-oh+I({ zI|q)my2)B#J112wgUiP`;4`s*lldu>O4i9K0u_FKO8w=cjo-S zJO8COTDN4xnLn01ef>l~eAb*jLk~{AHr3YkbI?f7Kl;W#cyKmw?aZNrG%?SdzxEm4 zX65Pbd7<(1Uv=8vwqDy`az};d?D3a}1~Er%w+%e})~3{#&p6M^{IF>9w8l4volPzc zvK@b8%;61lR}0>*&*rqaD0v`cudjCxc336Db=3cn>~HG$2_;YZN^M0INa{Up;IrN6PEvKt7cYzrVD+ZUpRC( z%P~|occW*(lIR{wiu$>K?K@d-qrJhks=o8*2}P@CO`CpZUyAcDveDyb(?ymaGp6n8 zsLJSa>)o*{^@0ZVy5xVg@S4#Z6@#V*vhKzmyBkw%julX*k;*Z1S69BGy`Aizsb|$m zyZ@Oxy;@*qCOK1!3TBYqI- z1eOeT3?_^%xGM(UihACPVB!Q-#&&}fY@egvP)NqUZ;5P^L$1d)yHL><62ZsmYla_>xN`29KSoWPWujJQeF^{L5J;2$R__Xt? zjc!|J_3-PQ{_OS1n>A)lXKc}@#1%6l=M3%r{<-Vaz^0F%*4q&L`0+;l>kx(A0Dtw7 zCc|6urz~^7)I0HUhdsCXXD>Qe-*x=u)m0bo&g;I7yMBD}1J9Pvmgh$#xrnHlEodq zea+nQw~|WUec~Tz7Bo;=<^AO?cQ>Zpn||XH4{I z7A?{4`M6_)s@jzui#IiEe4zC4?9HPt`?)s0d%94XJa_t-PfKkqI^TPxbt@TiBWB~c zR&GBHmEUPQqPET{HbTE_P~*=ftvarY`{J-{!m>t-<<3!=6(I~&LN-(++F z#jje<-w@n;fA6HZ%+#AU4c4n0d@Nphm*eDdVD^&u8CIKiKkwm~Fm>VTeodV33}4}Q z`%D_uhkI~iwLjj}Olh;I`^77}@0?j8?YlntP|4LDyv1s-;lH-Y@^Je&X0_xj>yOET~SXF06)s-7wE63&(2{n3cu3_=znf<{a5qNx%0Bt zUAxqLqQ`(tpQ<-@+`P4aMyr|$tBzlBjIU+=^wg45v8(h7ndA}wT+);((UYr%O$hU=^yedvR{zz%*09+xU#B~Jed>R2xXZ(P@eAhdshN0W%!kMm z!joOroLn2mo&SDu)}-{`<(H!p*Or{TBaiZ_v$CXRo7R@MIbI)ojvuec8TP7!V)loD zzfIe4-)-8!cc-PV1X~ibTW^dUKest*(JW0;r*7KPX}8ZXMJ?vPAF@Q!%uZN5cgT}A zeZNqpE(wC6$VL(MWXsi>Q9tkVPMW*MwQs1h&(WFJ8V;T`PepHXv0C@(?acMm@ftBn zU*Gfg{vv~)_+;msE5O4qQCOQi4o|@W$7ANvzdOIQ!2H%+_yHKIL}9}S4Qse66s90W z(R7?&lUp=iQ8cE|PQ0?XThq36rrmLue)6~>N}ST+_QH873swJi^DMT>Uu8e9McJZN zvAXuJ`BERXA_3Q|Iv3)QBC;&JEVQJ_-=7(qMu`>%L<)=t5)hJ%0RRF*a|L`M(TGDp z2>!Ex;EP3=&5H3b!=ntO{>>RN=-Ou5$i2y&h@dMEHm>S(>3DvtIBK1bzE`JgOX-T^ zJNu8@>T}k1{^;!PTiemU#>=D$Gp_V&db8cnYucAO-*BNyR{q@g<*1X78&Xei?i?rL z9U9a8=JUiVS6Z%^c>CU%p63ep+@1WA@g2%}Fu|i%jogoae7fCthL6=-{>|L&j`6d{ zW{R{^w$7_RE8Tm4EAhkb$xZC1kCHXH$#?R5e^l9`w=%?2YjNmdZphc6BI&hXM5?jR zf8XlxD1OwS{ehlc7VLVoy}%-@|Jg*X+f&7npZltlJ5dfIJMrm@cGKT9`YEmb25;Yc z?}wHgZPoVv?A*y&E9=Le{Ud+Za>st%>pq)5vu*&>$Eo|_5ZCPL#m_Acdi{JNe8Zjh zj|(>4TDVjnxHW!%ubQ^Cds{SWJ-S!NsBpXO8#b(sOFuL>>}z4ZTj884inRM-wq2YK z&8gvbGW>z(gP&hFKk9Y%ykB8#ZI9-)x^{fn_SxdAGiD!YpxIGWN6$!}_IBGfvv^OP zq|NJkhK!ikTeUG~o^`YjdYlyw^IzN_rnkRxutJ#uY% zxb$iC^|zE-Gs2?aP{yIVIS-diJFcwzRlL7b^7*)G^Ui4MLSVtzkG zF|WHZ6o|*4CZT|19t!Y6plJBNWu^_Yc^FZ!5~y1~nfr0PC|?sOA#4QuDFW-WK_iHu zN(Dy$<7<{;y7FEHjrS^O*sFjsx8nH+t&OwKs`EL^i*4cpw!Pfk-feDJHIK{(9TS#s zWrCf!(c1>?wRF8wFY|!yd5h=4zsz9P9;$zivQvhg8DW*5I&9$NZnd)3%!!`$phuU} z*JdWJ7kTYnb77h1>VCpCzfbLOq?;4(L0a$oeywZU`rcb1NI0<}VoT@q`+PWgD|)>8 zHTzYAqd9JKceLjr;@ zxWzPXy>C;yCbc-vPxb5Md#>iK+|JgmqWWxjhi+_NNf&p$w7bfN9o5dZiMdyQp7n#8 z(c2xjMhu9&y=Sks-*xT1TGw_(&Dj6!7w2}D29J3h7p+*bV(hiYo#w9jbY*SY%{|kK z`ak*YNzA?Ix=W<;#Y+m(3-6BX-nZ*|-yy%Zo0Yt)k6ixZN%mg(IInR{>$Ti-V`#*P zeZtuNXBUP0>ZiQTdDmCg-b>oK+mzDAE&YdFTsz$1>YVu3Q`c^fD$AOF`ucCfN1I~j z6NsG;z7zh+cW=JCE~#pYmv%JQ(p3aUnR##&7>+^}72;~8pp17EjoUt2?*_DTeE3gx zy!aarmmE}{syQM+(UA>quqaWqEQ>3PDT)63!3~Blj9Z95Fu60Wd%7z8yZZT&FxSNx z)*#HaRwO9mjW~q4u)i1P{zSfBQ8X7`no$hsovpsyL8K0%*!-+D!=ZsHI z@o5`-x7SDJ@{L0!3$gT^|*@M6AY;s?8q~We+%ND%KxRkQ1M&P1poz+9e7mSKZXmj3j;(*gmG0v|Vg^g-` za_#5LTaEcXb!XlUskZ3sCYL^w>)(8kdN?AaZ@-$aqy>w|>j#f{{cCMH%Hx-jHa{<1 z#eWD&F@1f95j}D=OSb6uHsvvkDGzz$;wI9#G>hFE;@;dCH^^C2r66)i z?>kLB)C=}@Zr#0PuS-hMw32HVU%h*2Kd-dTjbn?ZoqXCkCG=J&{;Xk*nLf-ZW?f!& zyPYc4rstOrRO9Zv7J5)De|lBz`*_+P^OC2YN59RB+R@?Fv_-<0<~B15tDi)5_ph6| zs7YiW*T4g(=g*(puV0N1&8Jjf@v&LW!Z&l??aJH|GwtT1yuMD4AJ&_Z?-=v-w+%IW zz>i_gMHBJQ|B`jFJjmF4tk?Xfz5}m_x8@}_B!iK4VRZ~S9|I1CXbAhgwZE+^X@r4 z8$Z#q?@POWUq4zp4!>X-a=lHjjhq;VOZw)1S(YyjzbFn=&e_!D?eUooj}M2wI;*U` zDP{6vZu8m$L~FAAbFP;?)pl)E%jb&r+}MzeSs&jA-h5elL%d41ba}wR7o88qSjDY) z)@o^hu4S-ziuS`I<*mh&ghM^6pOBrI(RY5*iDnPei^~ou=63IKp`(10)AMas+mZ*K zuH!sFGG+I#`$7+{Q}vryTzeu+K5CWs0HZ9Xs{lzt3~%gzY?=N212!{@>#T4ruQf+$ zVM6#6*qh0scuH%sG3*9;0^1$f zR@Swsnlz|e!)oh4=Jnj;lz4bz(#s8=Eoz=ua?>I^l-&KWvG&Q@?&*g|%B<8$Gn0=! z8Jkqx$hpJm!X2YORjG5u!#j3|uSjDt`tFXKx$oO-UjExl+fEz(U%fgNvp02m##m4L z&&Ns%nO~bu46R!yO4ZK&_3tkmbUoMl_At#@uj;!?qFQ*>yD>xk8aYY|YOO9gb3UIt zJ@WXF15!8cc8|T+;@(~D=)yTl7=P~o`JW?Kr z{j+cN&%V_^`&NIlZ)M+9QEcDnfAhXo#f52E(H^*%D>Cj~Rplz-q?!7!Z)f?M7Q{lX zvIbXHCFo(G#lflzUbY-Mtl4H=$B|p++jV^0=nGZ6e)fpLwO;(2wzg8+A94(M)g^q_ zml4xiIGk_X{^p{bcaJtbug#piKxEdq19DDHdjWy_Z zzWc6unl=roDCy@eyWfm)?WGwoV)K-dRa%_A9W>?_&y6vUmbJOI&T&xxk|t9=Ia6CV zv<>|7a>u#byO^+7&jYT0ZsR+n)$ktsG+~3}i=H-KtQxT5eUP2Y2+mIdIvBljHp7&95O1KDbl+WwIoE<>94+A__yE+INbG zzm*vAwcD4wx%IBS8SQ(y$$IqRQlkS?#w+Vi*rSu3EZ+LuE?ZQ*DssXfp*LoqU+{dx z)BNq(^NOWg6vfgFrd;p&8pWdK44hKsh=9ZyEdl5tEo9{`tsXtnz%R^b-oe0 zCYffs$R62`(>Y506mZyS+@Y%H13x<4QNf276w=h|vZAvKi%uzuj{jQ@S?en5;6qjm zsoD2q%dcw767t~IfJW9jBSrJ$YujPUuzKE6LG_}%qawro{^qsqvSRD%aHIYWTsFF5 zcITAyFy6E8W{*0P@KG~W>8N?YzeNd#3+WuGOZiE&*+p~1jZ=l;#%X;;ke?zzsjNqC zoGKx0K>yG65tw=9<7)G(^=l`zySm!$P(tHja|%Sy_HRGlsdq!KdF~01+n4PtaLL|j zdEfSO(`8dLZQQ3`?mRK?(eYi6-TSX^*1F-<%xXV{Xtg1m-@L1zZExlHq}ROoo!ze3 zTrO%gV)&p3K8*&T=gm4DyWcSQJtewy^lqN;UX}E)`;*?d#yR}9Zk)(*eDC4CmVU09 zD(f_TU?zRPVAJ}P7QY?tUF&(qm5|n3{371k_iEXG-Sqp{dry&ai^s?8?KE0+*KE9a*S;In1qj*4qoCE|#upvwD56HHmv-=lEYP{_NqhEuQZDbJXTR zyT)xFy-3)(bFVG~919u^ua|uxMr*UmcVD}94r%)W9JP(sbw5>mpI5J#r$d4r?z|q; z}0!~3o5)^;v2dutdI5Twh z=-%QPvzq3NvTRr_CS++^XtZ-S8V5Voy}n z5|MvUAo)&FAd3cIRPmp6&41;ombqAM?;{!6K=$~PblRH_gEA&(>XU5FEfS&Pp&y?N z=n>=9b^qQws$Y63NmJI$UM-&}vRoT#gH+V+W`d9o8u#tY35+J|rpJ^7pu{ z!GaB8S0=6eO{ZvAyLdsQ)yao%niU<}RjZp{`)*M$+czum8{(>0rBCQul(g=|q}Yjj z_ATywN+r#aA8>kKQuy;V)u*UEbzEwt+iIQMMy`oT9g)y|UFXkzs)sypm$!1q$gsGk ztxj3bVj8CpdXu)BGc{u1vy(BObMBNLS-13MKM#@e`Neo z>$v;#le_mg6*75zr{9m4I_~@LIz7|H4};SS^7ixppK^LXkPR0~%E*Nhe2pHC=8GmO zipEvAQ&OY|F}hf|Q=B%_U7L6zB>*so#TG% z{q`rBN$mult%@UTKmL?B`snL!wj+BVZQ3++=H+CEugUMbI0R0w)iy@|EX?N6nq7kq z40>6wpkou~moxHPOlXbP1Y0}2@y#z%Us$#&^Y+2xe;nzDG%<>ZS~VJ-c*0pUbzFzK z+c$sa-pHNn*P_nnHfwypY`!zr|L5*qOE0x+`ryU!8ENB3f9=_Q(3SlyEGE>xS^sg> z7QIqt_jk+QJ8QxGMjr+hOzk!!k) zHG*ZE-0!45e*1dYz?2T|*8P0yx9dH>*K%g0^$7cIswI+NOV5j&l@{(ld2GqaX9a_w z-)PuNc&)R3dJTc<;@SjP&5jp0(6xI?{=!KO-m07Rz5i}$^A&HeY6q$^HGP&9{klZB zvi{GH5Bz$*c%$~1%j>N}Dc8b})kb(E)nDJ~;vuUxGx`nFH5A;P?)`Agb$=h*x^H&- zCe?9!duV0+Mfuis%Pvh_za(t_;S*IuHTePWn68y=hRij?$1Z>#(lKf)w$(^*{)TCeYc-z&+~a^RhAHV z@tLrW^SKQJ16>8%E(TpX({s?C$Zm$4Ty-W@2v?Z?d_!`aH+EL1txXC7dvrF8h#Wa+ydWz~wpix4O+Urup+^-_)0UC9}~EU4O5_ z5%KFRAN?LN*ya3Wiv}^*AJ{+ZD49K{8qeiImuf>hCY~6XW!o^!tz?WeWyiAKr6s%b z&g`7J?8!3w#UIv(G;dIIO=0$BuMtDqe{@$T@A|~aYILNop!yB>`Mlcq{+R2kvhUPv z7bAJG$t|zSg?&49$JO)CZ3*puu=TdEi>|%u*or%7zr>*2<=1>3dJK+Q@<{QfQ`_RF zF*};st+%*PaPV3|!!4|2}RLSMbSF0 z-S@^dd_P1{RJd^9|3+oO&9>$5XU}do{K6_;@SMD;`=t{vO&zn*-11?{k8c`{Ka*Y7 zx8xSpBff=gdY;$NqWI6ful?5l$P2-iuOSKT)~0`&y_FN^wfa%bhjaAH+xyR|ek^W* zNYN&wmGV^1f$dG=uD5l)vTJvTn5FfeH~!e??1(NIBkrlh&2RiFFO|N`tZ~udmi$)0 z5xWP=j=vjJ5OjLP=*Rs|m%g2=fA_e{knpJLdC{(?12Ddt#}$_xg$7t>n9#2K#ajF28hteEoG_y!yr+ifyvIs-wK| z&0o`kXFbfc{rYT3y^*I~$IrUGK6g<5)U|`$g*&gzs;T~C)b>j!$0x?ULGg6^Ps8g? RDeio8@Exa4_*Xs<`hT^g{ + + + 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. + + + + + 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} returns empty IEnumerable<object[]>.. + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + 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. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets display Name for the Test Window + + + + + 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. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + 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 in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..2588ed825d1e6e25715bbdac690e9836adac76a7 GIT binary patch literal 75040 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 + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..6dc91e9 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..17b74f5 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..fcb3e3f --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d743158 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..629a4bc --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..621cef0 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..ec60083 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..e39df20 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..58bcdd9 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..b864a5e --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..35e3696 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..2d6cc37 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..5ac7391 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,139 @@ + + + + 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. + + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is cancelled when test timesout. Also when explicitly cancelled the test will be aborted + + + + + 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. + + + + + Adds a file name to the list in TestResult.ResultFileNames + + + The file Name. + + + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..46762faaf6ae3657b8b054a3db875eaed7597781 GIT binary patch literal 25072 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 Rx#MQ%g&xs{KNt_s{{wyH-H!kO literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 0000000..2bf3a86 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,4477 @@ + + + + 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. + + + + + 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} returns empty IEnumerable<object[]>.. + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + 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. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets display Name for the Test Window + + + + + 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. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + 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 in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..2588ed825d1e6e25715bbdac690e9836adac76a7 GIT binary patch literal 75040 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 + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..81af003 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..47b3d8c --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..2c1d88a --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..45a5e13 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..c863ca9 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8099563 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d507bf2 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..7fe8bca --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..f697706 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..cfddb52 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..c839eab --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..f335cdf --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..eb785f1 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,118 @@ + + + + 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 or sets the cancellation token source. This token source is cancelled when test timesout. Also when explicitly cancelled the test will be aborted + + + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c30951eaa1275f6654adc678a6c873cec79f1f5 GIT binary patch literal 27120 zcmeHw2Ut@})9^V-2u*qwDFFl#A)HVYR8Xp-G$|sAVh8~ukYEz34NwsaiWRJY4SPfE zh^W{LcI<)`MZwJaOzO%ElGdnwbxPilqFe-*&H28i0 zj$wP?jh_A_{Bw{4+3IHd)Uln)XU+HE0cXv_6L}&=s!)(1WT!AVY(8HgX2fzC!ZbdE z$7lEihcQwFaa^XFno3t`(;>bX7JyT+eJ#C4wfA-pvtX#=1csSHijpLCUtf4L;MX61 z7^X>vDH6O<0v!SL+++b1M7ScH5e+bF_{lx}G0aOYN(Pr9y268SqhJcy8FLKVsf}UE zWGax;8O9EMZtE=}tu*Y0u})D z>EGx;W4g!^rNB~9v9UrSm@gGoZQQ0CybTHg2i!`ZJ`Odo5@7)>sbU*Tp-6fwgz@2m z?vO@y0krT68{~x}O2C8oAl;csFr5e|7SIfXxlIOm4=}Zy2x|`J)EOq(GE6Mw@e@R- zM2-fe!`m_<3_Am1v}`N~MELu_`xe9-V0@Nd$%0sjqX(jRq~1zpWyr%m;Z7J(74;4) z7kZQYV3;H?0iGC;mt;$*hbh8ONg79WP#nG6f2a(GxhbGHV)~<0D@8gsf`(uz^Mb-PRA;!2o{jgi-y7v$naMZek98n(vB<8u}TUZTJR;)V@aq>T}`87>Pjeg z8U;ZCS#l@^^)(LCRWKubK9sqk^jT3IJBrsqm31&DZWq=a zgg6Duk;If<(K2xwRv?W%QbIAwb4)E>aXiF|$h>39pRinrm5{Nc%KCUd#LA_4Ts#w3 zz_v(ZQ_0wVY3wpS3-Tn-F@jq(s(Kf_QYkb->z*2S?xGQ|-`VQWaCV3T1caBLo# z(hB`Or{h3Z)P84xDp+@bniz|OZY1<1p+5J_;v1B*Fn|2C(j;sMo=l&Lu_1jX7KIPP=3-g6qr!5Szb5)xtQpHw zqGK1N?exYs0{_g!_E4CZDz*=2VmjCnfL*XAfR@-ZfIYBp0G&wK2UG+T^Cr^=V`dNz zBhyDcpNcLz-J4yMmu7C0|jwu z$y^UC91F`5iMc6EZ$WZ0mnki_MO3DSfdu18W#j2D}e1ZvBV$4!QUA#8Et z&#A#_;?y*;4^Id<2!vTb6_D!}6U$H_5&KQgm^QG0F#pC?Aufe;*lv^noIp^(e}AvsdW6LSN2d>Mvhzc38IDK11P zNaYH}SqO7X+CDSFALdrr5%)|@P3CdPc>*TjCQEYB=%n3wrzMNipn|s`C6$-V6_VV* zhDr7m!}cQ*0{ILdZfde1D+TE44}9NI zp}j3X81qoBPy~GZbEZE(ULZ^%iN{XV^{Ylw zQrUdD3@Lk}W&opDUNTQCmn)SpShz3?7R*p~avB!{P6R0B{qRH~mmLR-zdb?P9#cv? zGKbvMVu3u4P#_Y-imLO6RnAGfgoALY+oU$4q{g%NHD-E@z1J;fJ8!5 zMz$m42Fz0w&K4#8{fbQAOfi>_ctgaDOHTf?27W@CDP5jCuBf9KW<+ENQy9n0Oi7lK z2-cmDE4N5x3)xSQ#*ZV}qMeunV0#biK3kIL?}=o!Cn>|*ON4UcrBWS}7uUX-94^U! zNB|nj z5wl^D3o$f9o*8VAcS0nN+k;G`Alk?0!(%7#1tKwzBWh1-=P-XhR1~C!afRtT4)>>Q z$$H}oW%&{*1(K4>}ZjmcKELNzW(PZ=m6Z+>kDct9%0u)QvN_^k zmFuV?D-|3&1~fJzMkrSViUULIRT>m_q@eQX3nI+&&o4z?m}^|W(xVb`dxz<|(n zB@73sl~bsKDX44b%vCowHl{05v~{)86bT$RF~ukfDo|uGS#b?nX*~%yD=;Xyv7su1 zqMcKvm9tknXFJ(gEktPyOe>Afz_n9MjFq&SMsW8hj_UKCDzrR!Vt!~%>ywvp z(E*+2*KS;FGcwk01J};v(^YrzNP+#smlH>A)i}Dy-P(ADwl~+1k#cChbKvlc^Qm<0 zDEOtoZ!8+7x;juC$c$-^L?8;$T007jl1)e1CdPCimMNyL$iPjsQ?$oYZJ@XfDh?nD zfEHT`m!4soq7jBu^dp7r)F1(0CL3XG!=?>~a^$`p)5bA1*>Xg}9CqpCzTF7N^kgcH z0W1w0Wr>`|oN$bJcs=8nxlD#SUoml9g$k~N(ViGKL z9E<5OgM7o$nz55ARrhokCIQ&1>&k?f)HXnSQzKNI0m6VG-61k$%b$iY?~G$U@Is?k z16%|dfv~K3smWX%>kj8oefxo`Vjyt=O3>Yc#Uv~kTs}vDl)Sq|nmFFx)uNw=no3`D zdwVq%20Y|Bb3E*-7#xXg7cr#Lj3L?YgYXgAF+{0c4s5F>J5v#Z9SdulA%>l-h>-=R z1cTkNZ)LDKAkjr!k)#7L%t=~8B9NHsBr~81NgpK9f?xvExeNiQ&J*D~?EvhSp(I<(;E5S= z0zeoYr3<+!0w_%OE5$dC5t}6$OfoN42$mR=;U7;XNIH?GcC-;EfG)D+24;sa;-e~z z1Z1SK!5)F)WQTmN1b1#6pdm(w`-tdF#y~*^7v{@O(g#n{A)~!7DbYj>KvpQBw;h8^ zP6pYyWCl{%KyH#U&^E9R>;!-kag2Ddk6_dyX~p*WkfJC`6r?4`F*1TnSScw2KAHuFAYN|R$RQy?7&I>fMg~(9#}jc#oOvC4@*lWHg0mDQ0U})c zpnp02iENlHU?nb>k-^R)yWnP~!V*O5aBLb_rpRUhI`O4kDWi#`3zA9O=e2!gEGC0N z?zg$XcXkY^VJ(+}Otn8mefeoAFtcD9$ucB8pv4pcq=AtDj3aGjw000Rq|+!ji@@yU zoUvgoK^PfAfP;+Yj(}NMS}f{cx{TVJXUoz%`uI&3Kd=ECxE`%I#4)mNoS+-ohQuG) zB0qJ<|Ea)_{eqp0q=Iyb$&;CZSpKKscMwa$yTGn6bU3gO0o!tr6b8o4;E5AqZ81O~ zNNide#;{ugW`q?j&sQ+%h>JnS{eq84VJc%!I|j%~HcU`D*tcQ{GKpews;IYvLxO+_ zvPf#?0JA&9XC(9ZNe=zMqEGVoad&cK!9O(>dwV27JES86WG-LiZh_i?W<;>{PGO7w z&=#L7j?Z*(Bv?)k1j_-2%m!JY7<~gI0*8S#fV;&H8Vi*`Wt5S~X0YSpI>-+q z1gP-?$zg`M3=%)GT?c8y2w#T|gdqw#Bb`r7P!`9sguJvClQ8^^$u2>%xIw z^<&Dn(LP?ho$4Ix)sVk>x_xSwLB)51TqxCZjP(@n)HW;}sjjkd%c{O*O|(h97Y!Ym z{d~;gmXo=ikG!mTT6w=A`^M^nwEnC?jYU`L_81P*Pd_%$_0EyF$Vo<%h8#aH8q$lN zZGPATP>}g5k-9bp{T2Ye!2lDqlko|A7E#$Z>c)ql<;Fb{(q>Njgw&sJ?`Y5H7<6P1 z?d0a_5-o}bpI$WD)ykA<^bh2V7Q~K;29q7ld9+NY|7^tm%dI{$H7*um{GWe{q<%(( z$p#c=pwQ1xyFXHrgZAw{$;oJYkEMWY21!cV$SC)_6|_Nmc7JZ=pOpU^1(0_L!@wb$ z^J9I9R}uVrKc%B`1K~HUKlmGA7vKJ*g9ie`hQfJ%3_xEj6hi*sX%B+9KR`c;*Bz^- zwSJSFMytdAuo%3ml6OC8L#Ro~wz$1zOuCmG3f7Yl+Tnpc1*fhUA1o~aS*R;AC&1nk zLJ2tu%f>boN(p795G`1kGsc8bG2!h3ZznPa zRscLJF;A$AD2rMb!W&t%9X9IEV`0Kv^Pqi+?Te_J29__PJX2=>hDhfF&6W`8*OB7~ zafwBoLFOev-p^wbL24YdfxOv>A(?<<0N|HEVuxs%3idamQUaC;7+~P#V*CxdGoiF6 z**-(A6%nKgp%)QJiFAN*&@+bFLhthZOSmo$@>2jGA(jL++Mf+1J%gpKBCbR9Y@c5g zBToZ0x zfm(J+(a|iAICB!j8Te;&aaQqSmuNo%BSiW$~N4LaB$$-gPSlVl@a3YNtha_ zfh|QiIypMAdJ(;b8>l(52$myD8YOa1{fHSN9Elkv((}K7kv-7^Rae#N+JTWjT=PRG zM8V*cC6E3@i~u+|0`rq)O>~tMHwjN^j3W8(Ckg^J-=;AK=+~LFi$?&1-o% z@$$t%{L^_xZ*8u*tiEYG{YvLC=HmvvaW_xgP6_xl;sQ}O$T#=P(f~Z}Ty8{OY1zkJ z{a9i>g~+$+`dD-6mH+J#InUcBRC-|lLSL1&g}uPd0G zJ-S)p-mBt|s$YnQi^pa}U%FwG-({=D^1*wOpM;$a-r)A&+~_OLhUY23==iEUTp1{$ zK$rkYP1I@nG~J?C7fKZNc^k~~v8CBoUs~EJ*7g9&S|*k>Lqb1C*V6gJ^-#Z5mFN9G zr+=>OvF(UUr3Mj>>YLF5iNS<_*?=Y!sL&pL>mD|lU zHKT|4gugRm`rJ`HH__g`di7=PLxH!&sV$S2-{{=u!JF}k--a6LUVhJVz307MzstQD zFC1;kK4^uV5P7f)bT7tN^~}6C?7(#Q^t~ShCQsvLR#Q2*8XWKFh2Pehs$UWDv}f~p zt1iU>bqnb0>O)G5pA^lu>|Q)q_4RG{VFXQebizwPjqWH;x1}jZ2JO}SI+lHSK~T>x zc`Nps@Oc${>&?^Brzx}Ii99+Lq}ww&=@z=Qe`(0j#c2hkbPJWInkq=Qi9gDa|4Y)% zhOm|_dNUcffCB-Jufuo=d~^f_EW?0v9+pJN5iW$IBg?6mb5A7X2)QUB{Bi+rpVllW_Gp}TIeJM? z?V`rQla-}gl-}=1p$@vC@@iO{j+I`P!5K3%pYPk2d}*}3URN6|d@~{Hq4t0q#S_Gu zAv4trb2kNkbdKY6X??uBWP@$F`J;%!`4dh?okCF{N z8KpaWI9K>5R^(<|ea~DV))Y3<)XWa0K^NMSRvw5TL ze>i))SID?E?=*=t(n8W`wLdX{^*0rfKB0?vO+iP^(TM>4*u&YyndQ{;2O&6+ANMds;ZoiP zgI>KXs#4aSN~0|Ny%7ARj1r`ZNI3`$4V(;o3@nT|I0gZGqL)44N(w=C`?x^}Mi61d zkoGtTLEk?Uf@BBna_~>O5EGq{G}OWI?=%XW6v%B?U_n#!C^)vD&F9gyg9Qe8c0=db zwAz1|o42xO|E=`0l-=27jGiu^Bi}9`GI~U%Ux8|t>)Yevvo{WQoo7AMz@XWCeuewY zxR;^RQXXDC@3ElBd+*ADuf)y98x4M}g))H0wK=JYoW3!rbukLKV@u)m@ zA8kibUUQG&)(u%c;U+5hWxcagRlVQ3W)87j(W963`S4Au&n>j=Zfa%G!E5iGK8vSsG>6b&{`N_0`16xar?uX}p_@a1hK+lOfdLM7?ezY_GaY^I1B|cx0 zUhXdR_o{fVP@|_@aX)3L&W_R*Ybu1bpQ|g`U2a#ets3BQY)Q-VT{CYvntD9Cn4=S2 zT2lCBou=x@$FGIv`BNGP@0>HleD747heM}Zi;Mz%#Oo({e9a#+e0$(GgY}h#kuJlU z@J-#5={qO*?H+JBknYq(7dhv>4qjR5nqHS4UP@ooq}h81xA*6~O^>KXw#SxN1T9vp zI@FeE7_w;fmh67U4+}OrKDZQ*XV8xC?DFodB`0D{?2X%p9$u=@$=nfrBL7ac!dk9f z!Rd%(Tl3F_TeMC&JGu9G_W7X7iIi^-AAj5TNR3g5O;);7^ymzK*X2W+8~w8!n&-{) zP}?;L)PN$WfmVqcP+{vQqSG-rJ(gz{w6~2Rx3enB^Q@=Oe`Obkch;xEnLevC+GWcn zDyOs``L{1ls{Af7Q~=IGZ(v=C^OMW)Oao^Hy0(DCJJE}9hK~XqU7QFv$sQI(;X46{ z{^vH=|7yQkTAsZ9?#+SoY{w@tJ2zH0-LG3b#4=>_x!Z<8T{T`@sJIZYSxhjro+(}l zU#RE5po`bMEhW)}^$jfP$++s4>53Zf)oCSd)6bZlcIrB9`Kvbx#&%!EJuWbL`Z#D+ zd97vGslrdb=auV6ZLQztMO*oCZSwqtYc{w1!nWntKeX{skVwtsoQ zbO(OUVsQBPj|xW)GgR9p{6>)Q6@-RN;wTVQ5Ik}c{g?YoRa9PsMgt=&pU|W$OKmtk z9Hn4HZVAe_q~#V7xrI5p>YMUL_aEA=_@R}~7u!aau!T_%R+n>Dv;XbvnWvexS-*Tx z*_zD(qG4|ob(mZt1Yu@I13g6emU)+X=J)&SJ7d`@5yFDtzD>kJbFbrBg zJ4r>ja8J40vIP6OA?ic!o77o#oy`sCwdQs{8k;Dmr%$tFULc zUE5>uENJGWI+q@!R@FQ^FhSL8+~qK#`3vII{!DK42;4wLSN-A*-IBL`_r?#aw0C&? zaccgVAw!=mPhF6_$t~dWyR4cGhS{;*TURda?o7`xiaqIWnqrpMrh43N|9S7qhaX!e zRNY^_PVBNLsBWyKwspE{-_TiOhx>W!9;mF`7MO6N)a!drmU+$!JtF>zm-Z;56Dust z>%E(MH1B^i@QmH%2FIKLYukZcV}?H++Pe16;^n7$3#xOwiRoG|(#>m@=GAr!-?e>= z`}Fd3_D+7e&f1y{1KP9&UuQTb@A!6i$cb5&C*!M^n@rP=qqy5|jheIPf%(I#ZKpUp zGs6`wdon{dE!egub7N)MqBNuH^QP&fSvWYZQ{tD6m}ON{);i^s`PFBp!6%oz@W1yS z=L)8)PB_6k@reJlqWB!E`*-!a5z!5SUCJ9iIjrc%jL=Uysk7=Uk*AnV(0TXx#8n}-zz=N#QTEP>zaiw>KB1!}|9k#KR7D2<+EltrNEf81ut zqx^hUK|yB~6gaDZHMgkF`9$rk}cEarnuFLYeG+iw#Zra2Jqq`<=UE#m1IdRm*yGz4%sMsCZ zdVPJ5E!oOjuPur?HQGp_IX?Y~W2m*Z!{d!gA?GW7c8_d0%A}@kOniMh<#q4qa{V`c z`|i2MZQ{qdWUejaXxLxsKmWu1JBn&oqO;cccYmyQuuLc8-~#v7&-Z%_*E92u6t~sHS)>y;3-D0${nH}6!o#+;xw#ox5qcfOO;gj z?K`&4bDel`d5+!NprLckU966{@#7|i?OUd?xwGYz({J`s^9$d{wAF{!%vvz*z#((7 zRg9s{t~1?iT&+sn2K78Ye*3&F#+DW9<6GEfV;XJzm&X(|S&h78KG-AlXjNptuGF>* z*&`gTSl&+^sWHSaqw)jRcwiGHFXrYUy~^q?mm>y0b}QFtw)8(>xW{L_?}OSS!t8s( z$6fE%_${t$J!~9#b8=xzpg&QuarWJo5v5zd+};-7R9l=o?)lZ{gCF~Muh6ksTQMOa z=h2MV%$OYxQ?5lWi>}GAv3dDC<%rE3yE*-P1=luC^_hNDIiT+H8gB>j!uR|SnT%m} zIwMCfT;dVzH08#&0)sm%g5E6JcEGPJx#Z%#s|B-Uy7M{c&gNgJzmC(JU)m*|W%^Q= zLhEFz0&c@Ja7uV%p2QD&^(Uo_P88dZeT4SCDXb#zy}AlPjZZ6%vo2UpcP55Qlp7c& zL~vPP+2DNtzpmV1`NFyd{R5jjncWjZIK?LyIKP^7fOT>LG5u+b6$T<&HYLH zVj{N`AAieWf)0s@V}o!=|=6`*R~! z?DTh2Ii_;>*yb${cU-@zS1`nPn5*O1Zbp-~zv=ejj$LmCuVhEm^hCa(Vz>B6e+Bwl z+}6e;ub)m}yy~IKz_*QaCK(I#CiqsQKkRSIU3Fw+Xl(uw6Hd?K{JS?^e|V)|zNA~@ z*)_%WFGg}a?~hPiHqC>cLBBxXo@S?X?C{7r-2L2Hhvypne%qVhnl3_ zgNvJt9$8ynurzY)(4c|7hrCWMO&_6>Gcf6ER%vZ@O3Ij% zp&}i%?2xmpJe$u%p3QskYY@2$|I>;~;_mq4fnbNXr7U+P0m4V>l~Ja$I?2v+!21FY zjSgRoDoY)XAv)rEaLO;MNMpgl^u|%yDf>>;6;9j{>$rKW^V&#p-(G~5Tot$mOgNV5 z=4k)yfG#)6G5p;cmS1MzC7|WunAx@4eRu8B*KIzd;pFsTslOtB$n3oZw^kM}xu|Eb z<$0%xSFJO}4OKVQ&K%wo72kdSyf!`jKK~^n{=V7NH}J`j|2bEWG=r{ zwQqHQ_}X`j(kP(u-YNXFeNKd~98f$4K*rWZg~OjIQ2U>$aBS z_^4pLC)P=@42#n;7=Z|{6Hgn8X7uO#53uj50Z*QNEzqX=JqSt8scgx2wJiyu7mHkrvPT}y0yonWM zuN+#kHtIzMDPDVPx~;{*RPQKX_>r-@C`EII@Y`_nx4Y7ex*m8_`tfRYkHx|YPs`#@ z9-(GUSKf~_^=jeY(!1L_VfJ^UZY85=k0%wVubUYDD%I|b?#bi>x%^KTsP(Srm2OA8 z8GG-bVeg9MaVN)2C{$8?^nIau%w3uRb9(6dldhBQ%)QHXOOU@wzve*x$A$5a3*#Rb#y>8M|FtfRf6lG`nj-k?zV?64 zt^PT;`sdt=JiPkn+)DBt!9V9#|D0R>^4v<_o5<7e_dogE>PN%0EVmXe=Bl)xU3I3h zz|)NX*N?LtWCpP^jb%Y&Y&rO$JpJavT2!r56}Dq(E7q@tQ$aKJGw>_$PV(A8pIjlpJhJqUUf4a`aDmd@SuOFw;nfbY z!!M_do2zcP%B$-`T>s>beLR!h{=1VCkKwG(hUzEOO+L>(IphSps!#ujbG|dic5{BW zM{!hXVBcv8$6R=Rs|LM05u*5fjZF}<*bw))+)u}|O=tM(2iB4A6JM-uvKoK$P2ayJHgod)Qy~rJuAk?In6?m6o|S9-=N~wFMPu2~yeBWcvbwIccV08> zu3_Igdd%kN+2wgU`-nW9U9wXLDiw|_bk;)JO4$sdBMY7RkTi#aQ-40P$is)xRofXu z6HYDi@BwfX1PqQN2A4KHB}#>g6F;9>3}^Idcr$+g0zeGpT7N%@-P$Rty2PA%5ao?VO000(SEWj? z+w(VF6%movd8>TY>Yu(HkbAbK>uASeqy1hD8<6if#Z=5rm>ZKDzWx0CfO)k?*N(iv z*5TV6Gy0gHv;Qvpi(hRwldcKcLL>7TTL;HY4~gAA@@s~fds}4Mrs^49f&GVE&{#(I zNSO3C{t$JM&&1aH!C(0gmz>(Z?p3y}3ajl#5Pj~h0wtFxna10i7oY9>*uiIC#hY7k z)vNJZhVuN(vtJGzI_WcVl>RbYA=o0Y{ch4Dpj6YJ`d6=TdPmP-6}|QzH{P#Hom1lQ zsVNaiCrIxj{WtupSKbXhJ?F{F=-9*y?hA@WTsybK@F+1<;$ICW;3{hwT&$N}`21_v z>Sg{S*Lg34!W&%9+FJg?BS{@bU>l+Hxu;kx*fWA46v z+?H8=eBBDG`yUTHPYRDz>M}haeUFN?_**o-L4y? zI@h|%t)=szv7F`O%u|jmTeY(9r%4kQjVa1pn{u&n*+-Kvt_=&`99yHZD1UYJ3ZpGF zugQC=a+X@SGODZ|#-i5@f8; zJzb%^$!&kjvC|ECJB4RW-t3u*o92A(GTk=ZZO4ckC)6SqXHOILQF>Hj|FrO)6H~kU z+d~fF-OS&g*c5cbX3zHZHy7=w@LGBDd}q(Vd-)%2m#or?Cob(5I}X0f8TWSa42Leq z&9_EXZMo&sw>V_%wepK~5%+m_B5N<)Ar5^#^CE(~eK&gEyc9F%j<~>I8x+o4xZ!%c<3k7RtB+mTOBW$+J*j=Z{!#n< zXGJ>sEf?Hg>gh;0!__A8GY1xgrP2R&8-stT!&Zvj_O89*sHjXGOByU*$8Nrn1xTlFr{)dK5x zUt}HIz!QFb>C^1Bcxr^7?uZhbg()xYsD04QzOKDt>eGvLZ+$hJS_au~d9c={t%+UI zBfP44=^)DGua)zUd^p?XX?gv-Y=(PXLCusgW;6BhhG|9F1((`&SQns_f!uXkA=cY= z0cWs0MVU{O~EmFIC!qQ}Mti1U}?~{fAWXz{d=%|67XZH*Np%D~5md zg%|m01AO7-bs_zE>st#$&3!qhYmT@qsjpOWy5>DC^h)@~@m)?C?b+O8Z!PEL&3bij zYmYUI68l$YM_i=mZ&KUPP*!^>0OI@=?v_= zkaM-_!N`@CAIs)Am*w6ea&NBAZ6I>5{988cf5WcoMp#KqFjKxaFBSa}si1Jl_pr`B zzHat}w~Md6lP}@M>Opiz1*tj~KN2T*I{sffuevlHh!}v zEDSYdwkFacj>BaMaHWP!ATnUvCb^yihAp`H9biAHB5eS!s6rV2{vQQ5pulB*Fj66G zWGE?cKX@%F&{M8Dg#}Iq*?k|=lu$LQ{{7MA?P0}o#vf27zsl6wq;c2&bXx8H zTE`PT7`>B@8!S(}O6$!&7K7InRX(Py$eNXM{)Ot|`wF`6)9#jux3}GRRKLdF;B0SP zG)8k_^TaOmXVO(NjyKl?FL1NzygA)qhS%$FEB1Q7T$M;qi;IrEuJ@E1FtyN!B~JQg zIlE_-FrPJ?c|&dVy%R08;oG+5M&g29i3jReM}0Z?ackclR~D&WUhw3urqify+3s zS)sfn*X;cNtZ_-+$obV?N$!#d9FRB?MzZ4-xCo~9!vPBM$HTGsb>FKNC>lmth2FRo zrPBRo)~qkWO}W+|9vskly{VdKPUJSpH9+aa%DqVBo+on85V_lFy1!c5@QDbKo3nc2 z|3qTJDC4p2@T6zyu|`#1#a zJ9;-|r}DT}XXiej`NV6>;RJ;pBVF|P!Fh_z-cR%|tqf|qp4h1}Xvvz|soNY~SWUCn zIZp2sP30#{ZmZc99COlTqxyrgx69Y-h?)%SaOJf9OIn=LjSn7Nmmje2W&!*a1N9+e z^#qv>6CLUjW|W5eaaxU*q%57(JShFX6Jwa^l1GEnRQk*uSk!;*ldir-U*~DCALq{A x;b_nhIp@X^dBBOhyefZ0{P4GW=`9HCfzc2s* literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 0000000..2bf3a86 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,4477 @@ + + + + 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. + + + + + 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} returns empty IEnumerable<object[]>.. + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + 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. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Message specifies reason for ignoring. + + + + + Gets display Name for the Test Window + + + + + 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. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + + + Initializes a new instance of the class. + ClassCleanupAttribute + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + 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 in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..2588ed825d1e6e25715bbdac690e9836adac76a7 GIT binary patch literal 75040 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 + + + 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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..3d6c968 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..6655c2f --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..356cec5 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8b061c2 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..7f0704e --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..93582a1 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..4b958bf --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d5c4cce --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8221c4a --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..a512560 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..0eaba92 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..0eca881 --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/Application/packages/MSTest.TestFramework.2.1.0/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/Application/packages/MSTest.TestFramework.2.1.0/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> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + +

$JZ`Js6%zd>b3cY}=2D*8;F~v0SMNWfzMZSfMOX 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 kgp!AAmUZQ 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 Dco?iE literal 0 HcmV?d00001 diff --git a/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..5983d26895b4a4d622ca53a0ec251c6668b919da GIT binary patch literal 27936 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 u9D4z5$g^|0-RJjhIbe3owq;COWO-M? + + + + 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/Application/packages/MSTest.TestAdapter.2.1.0/build/net45/MSTest.TestAdapter.targets b/Application/packages/MSTest.TestAdapter.2.1.0/build/net45/MSTest.TestAdapter.targets new file mode 100644 index 0000000..0649e3a --- /dev/null +++ b/Application/packages/MSTest.TestAdapter.2.1.0/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/Application/packages/MSTest.TestAdapter.2.1.0/build/netcoreapp1.0/MSTest.TestAdapter.props b/Application/packages/MSTest.TestAdapter.2.1.0/build/netcoreapp1.0/MSTest.TestAdapter.props new file mode 100644 index 0000000..14ecf32 --- /dev/null +++ b/Application/packages/MSTest.TestAdapter.2.1.0/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/Application/packages/MSTest.TestAdapter.2.1.0/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/Application/packages/MSTest.TestAdapter.2.1.0/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..b0c91ce2332cec4dad2474ed17a936d213748fa2 GIT binary patch literal 67056 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

7k?+IIX631SutW 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