From 253ee564763624a51575f1ef155d970ba362f90a Mon Sep 17 00:00:00 2001 From: Hiram Date: Sun, 28 Jul 2019 15:46:59 +0800 Subject: [PATCH] modify logic --- src/HiSocket.Message/HiSocket.Message.csproj | 6 +- ...cket.Message.csprojAssemblyReference.cache | Bin 21778 -> 21856 bytes .../obj/Debug/HiSocket.Message.dll | Bin 8704 -> 8704 bytes .../obj/Debug/HiSocket.Message.pdb | Bin 32256 -> 32256 bytes src/HiSocket.Tcp/HiSocket.Tcp.csproj | 5 +- src/HiSocket.Tcp/PackageBase.cs | 6 +- src/HiSocket.Tcp/TcpConnection.cs | 2 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6899 -> 6899 bytes ...iSocket.Tcp.csproj.CoreCompileInputs.cache | 2 +- .../HiSocket.Tcp.csproj.FileListAbsolute.txt | 1 - src/HiSocket.Tcp/obj/Debug/HiSocket.dll | Bin 13824 -> 13824 bytes src/HiSocket.Tcp/obj/Debug/HiSocket.pdb | Bin 34304 -> 34304 bytes src/HiSocket.Tcp/packages.config | 2 +- src/HiSocket.Test/HiSocket.Test.csproj | 20 +- src/HiSocket.Test/Support/Package.cs | 8 +- .../bin/Debug/HiFramework.Assert.dll | Bin 5120 -> 5632 bytes src/HiSocket.Test/bin/Debug/HiFramework.dll | Bin 24576 -> 24576 bytes .../bin/Debug/HiSocket.Message.dll | Bin 8704 -> 8704 bytes .../bin/Debug/HiSocket.Message.pdb | Bin 32256 -> 32256 bytes src/HiSocket.Test/bin/Debug/HiSocket.Test.dll | Bin 10240 -> 10240 bytes src/HiSocket.Test/bin/Debug/HiSocket.Test.pdb | Bin 32256 -> 32256 bytes src/HiSocket.Test/bin/Debug/HiSocket.dll | Bin 13824 -> 13824 bytes src/HiSocket.Test/bin/Debug/HiSocket.pdb | Bin 34304 -> 34304 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 114528 -> 134192 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 25024 -> 24832 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 122264 -> 115456 bytes ....TestPlatform.TestFramework.Extensions.dll | Bin 39808 -> 39984 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 69968 -> 73456 bytes ...isualStudio.TestPlatform.TestFramework.xml | 238 +- ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 29224 -> 30256 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 24152 -> 23808 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 26640 -> 26864 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 14503 -> 14495 bytes ...Socket.Test.csproj.CoreCompileInputs.cache | 2 +- ...iSocket.Test.csprojAssemblyReference.cache | Bin 56997 -> 52495 bytes src/HiSocket.Test/obj/Debug/HiSocket.Test.dll | Bin 10240 -> 10240 bytes src/HiSocket.Test/obj/Debug/HiSocket.Test.pdb | Bin 32256 -> 32256 bytes src/HiSocket.Test/packages.config | 8 +- src/packages/HiFramework.1.0.2/.signature.p7s | Bin 9461 -> 0 bytes .../HiFramework.1.0.2/HiFramework.1.0.2.nupkg | Bin 22531 -> 0 bytes .../lib/net35/HiFramework.dll | Bin 24576 -> 0 bytes .../MSTest.TestAdapter.1.1.18/.signature.p7s | Bin 9483 -> 0 bytes .../MSTest.TestAdapter.1.1.18.nupkg | Bin 771859 -> 0 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 114528 -> 0 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 25024 -> 0 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 122264 -> 0 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 69968 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30096 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 24512 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27000 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 31272 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27664 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30248 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27152 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30760 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27152 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30760 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27152 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 32296 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25688 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 28688 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 31272 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27664 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30760 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27664 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30248 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 25176 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27152 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 33832 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 26712 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 29712 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 30248 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 24664 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 27152 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 29224 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 24152 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 26640 -> 0 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 29736 -> 0 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 24152 -> 0 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 26640 -> 0 bytes .../build/net45/MSTest.TestAdapter.props | 20 - .../build/net45/MSTest.TestAdapter.targets | 43 - .../netcoreapp1.0/MSTest.TestAdapter.props | 20 - ...latform.MSTestAdapter.PlatformServices.dll | Bin 31640 -> 0 bytes .../build/uap10.0/MSTest.TestAdapter.props | 20 - .../build/uap10.0/MSTest.TestAdapter.targets | 50 - ...latform.MSTestAdapter.PlatformServices.dll | Bin 32152 -> 0 bytes .../.signature.p7s | Bin 9482 -> 0 bytes .../MSTest.TestFramework.1.1.18.nupkg | Bin 996503 -> 0 bytes ....TestPlatform.TestFramework.Extensions.XML | 1097 ----- ....TestPlatform.TestFramework.Extensions.dll | Bin 39808 -> 0 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4219 ----------------- ...isualStudio.TestPlatform.TestFramework.dll | Bin 69968 -> 0 bytes ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4197 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4199 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4202 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 1097 ----- ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.XML | 93 - ....TestPlatform.TestFramework.Extensions.dll | Bin 22912 -> 0 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4219 ----------------- ...isualStudio.TestPlatform.TestFramework.dll | Bin 69968 -> 0 bytes ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4197 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4199 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4202 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.xml | 93 - ...isualStudio.TestPlatform.TestFramework.xml | 4201 ---------------- ....TestPlatform.TestFramework.Extensions.XML | 113 - ....TestPlatform.TestFramework.Extensions.dll | Bin 25984 -> 0 bytes ...isualStudio.TestPlatform.TestFramework.XML | 4219 ----------------- ...isualStudio.TestPlatform.TestFramework.dll | Bin 69968 -> 0 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 ---------------- src/release/HiFramework.dll | Bin 24576 -> 24576 bytes src/release/HiSocket.Message.dll | Bin 8704 -> 8704 bytes src/release/HiSocket.Message.pdb | Bin 32256 -> 32256 bytes src/release/HiSocket.dll | Bin 13824 -> 13824 bytes src/release/HiSocket.pdb | Bin 34304 -> 34304 bytes 190 files changed, 234 insertions(+), 194942 deletions(-) delete mode 100644 src/packages/HiFramework.1.0.2/.signature.p7s delete mode 100644 src/packages/HiFramework.1.0.2/HiFramework.1.0.2.nupkg delete mode 100644 src/packages/HiFramework.1.0.2/lib/net35/HiFramework.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/.signature.p7s delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/MSTest.TestAdapter.1.1.18.nupkg delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.props delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.targets delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/MSTest.TestAdapter.props delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.props delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.targets delete mode 100644 src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/.signature.p7s delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/MSTest.TestFramework.1.1.18.nupkg delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml delete mode 100644 src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml diff --git a/src/HiSocket.Message/HiSocket.Message.csproj b/src/HiSocket.Message/HiSocket.Message.csproj index bfa7ed3..114522d 100644 --- a/src/HiSocket.Message/HiSocket.Message.csproj +++ b/src/HiSocket.Message/HiSocket.Message.csproj @@ -58,14 +58,14 @@ - - - {0b0fe68d-eb3f-42e0-b151-bbe221cfa10c} HiSocket.Tcp + + + \ No newline at end of file diff --git a/src/HiSocket.Message/obj/Debug/HiSocket.Message.csprojAssemblyReference.cache b/src/HiSocket.Message/obj/Debug/HiSocket.Message.csprojAssemblyReference.cache index c9af2f0ca7b5e2183cf1c08dff0d2724e5e7c0ef..1ee727f2bfb6ada685274168cd4723d86180c6bb 100644 GIT binary patch delta 2933 zcmZvee@s?Y7{@tR?knegO_qwhve1FGz*+Ri8^O{V)`Hc-kavdFLS%16z^E5kiIHgj zf~_RaX4WX@ugzd1*frR+Hp|U)Gu-8@L{o8 z&0e%4=Pf)Vx6o~++eWwD8CujJ#16GKFIw8mNFN+6Meo$<9XkDO=w3wfcd4F&N5wl> zks39>utMx~>I$Pm^gFLEe%e~y50yn?=w0}%*7nA>WJ}Y!u-t{ARB*m|i`6nUAETmK zn=c#=BP4gj*)`6-*bFO@V!x-B7A+{-L&5uSzIn(ObY#Lr4mjOKSvu`Q)xV^0`A4A0 zy*>)9M_a4Y>P^~yDD7G|!Map}2M`U{u5a&1wBB3S+7gxr5s-)AeDmnf==3!v{V?Qq z+@-Hf(LY8s+mN{ z_z^r|H%@e9%OmRL_<_9$|f;S)x;olt-O{Wtmn@>IZy8n(8~5ZjpNG~%&eD+)6L}rVY@RYSOZ2Jgc&=sdbmw>}wKz9$S9`Dj zU?^|$kty>g3+a>D=4Aguoy{XA3zs$C_1x+Ov58)x)ZSIOw#`FC)vOp(B~R75pEbrA z@)kWTo99UIIUXwfF#Qh_UDw0_8q#Pf0FRC!fageB!2TlKF$p{#f`mgzJz9J?t(ql2 zs2+0F!)etchI*9h0v2gAlQBeTmKaCT%54-!F)(GUwZRlvc>SMjqwkwIj-Cl%Wu;l- zgnAyo^d$PG>J*~EX->PjpGm7`(W6=79GNe(nwd=2t{{_zEN$wnS0;e9CkVL6q}H*x znCb~cX_jC;;WYfWMGJXNhG5w+A7rHnPIJYbhNZw%bK?iqtO99&6*s#H;5MgO;u^MU kwD>yuri%MBIL%EamCFrisO?+o>TUDXE0MYCa{QkE0JoN`3IG5A delta 2986 zcmZvd4`^3a6vua;zHRsY)KxC_b7jA|8cYi{2uoG6zo={Q*m`gw?1FDq%LLgtRCHOK`Nl-}myPXJutwRo--8y1pf~t~I@8?xNOo%8_j_%XTP=VB19X(%9J8VYJDcG1-QJi^j*< z>!6aVC^1hB7donFW@T(WEV6^D)9svDFOttKxDVa(rIgT+A})sW%#Z}!X;{G*1h5t z)tq0Y8jF)+yZdf&T!8y!o6kw z6n!T@06^QxLxlGm@Jb!N*o3=SVK;bbuME>Z3~Pqtbc8Vmj2I8-G0M#tA2CLw7h`!C z<6~H3;~(BXt)CG8sexal*ohI_QIkXoi=iE+FYr*?f-f${Nmri8vWuYVUgcM1>)mx*70*p{10%?W8tG%g4ORKj?i+@CZSR6 zE~wsz@qob z37vd{N&W?%_H*8ss|mCI71oJk{2M0n3{)UKd4^7oo8;f&Za?plwZzZD8r_p~u*g3G zHhLdFUB_Qz;{SrD{lb-h(ck=w>dq5+!9Y&ckyA|MMXboJ7gR2q^xQ<&bo9HR01Jnw@Uy$>1Q{q&y2a&EGZz)G>i018<_gJ4BA-B^F4DXVOShY?{kJX>q5r2;_){DJopq# kTu{4f;V!Z diff --git a/src/HiSocket.Message/obj/Debug/HiSocket.Message.dll b/src/HiSocket.Message/obj/Debug/HiSocket.Message.dll index 89069fcfc1e7edd09b176217c8dd7cdfc8d5d63b..46e22576e7ad5c511ae0db41a3d1f38f812224e8 100644 GIT binary patch delta 66 zcmZp0X>gg)!F(ymc4K#`n838j)l(~1eRSG3%c=6Wh}+i90^$gg)!K`q>YGZe)m_YWKq{N&=Gtc%19RIKA&T!oy0eO?sNJ560TPn TCpVfHYz>% diff --git a/src/HiSocket.Tcp/HiSocket.Tcp.csproj b/src/HiSocket.Tcp/HiSocket.Tcp.csproj index 58e7fc4..46094b3 100644 --- a/src/HiSocket.Tcp/HiSocket.Tcp.csproj +++ b/src/HiSocket.Tcp/HiSocket.Tcp.csproj @@ -34,8 +34,8 @@ false - - ..\packages\HiFramework.1.0.2\lib\net35\HiFramework.dll + + ..\packages\HiFramework.1.0.6\lib\net35\HiFramework.dll ..\packages\HiFramework.Assert.1.0.3\lib\net35\HiFramework.Assert.dll @@ -66,6 +66,5 @@ - \ No newline at end of file diff --git a/src/HiSocket.Tcp/PackageBase.cs b/src/HiSocket.Tcp/PackageBase.cs index 45f785d..11e6e3b 100644 --- a/src/HiSocket.Tcp/PackageBase.cs +++ b/src/HiSocket.Tcp/PackageBase.cs @@ -19,9 +19,8 @@ public abstract class PackageBase : IPackage /// public void Unpack(byte[] source, Action onUnpacked) { - using (BlockBuffer buffer = new BlockBuffer()) + using (BlockBuffer buffer = new BlockBuffer(source)) { - buffer.Write(source); Unpack(buffer, onUnpacked); } } @@ -33,9 +32,8 @@ public void Unpack(byte[] source, Action onUnpacked) /// public void Pack(byte[] source, Action onPacked) { - using (BlockBuffer buffer = new BlockBuffer()) + using (BlockBuffer buffer = new BlockBuffer(source)) { - buffer.Write(source); Pack(buffer, onPacked); } } diff --git a/src/HiSocket.Tcp/TcpConnection.cs b/src/HiSocket.Tcp/TcpConnection.cs index efaf4af..5537c7b 100644 --- a/src/HiSocket.Tcp/TcpConnection.cs +++ b/src/HiSocket.Tcp/TcpConnection.cs @@ -42,7 +42,7 @@ public TcpConnection(IPackage package) void OnSocketReceiveHandler(byte[] bytes) { - _package.Unpack(bytes, x => { ReceiveEvent(x); }); + _package.Unpack(bytes, x => { ReceiveEvent(x); }); } /// diff --git a/src/HiSocket.Tcp/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/src/HiSocket.Tcp/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 6ded7d844f2a4252022144c98ca64b6a60aad276..10352f9b17bd5f097a0121cf2b097e53f9d8c08d 100644 GIT binary patch delta 17 Zcmext`q^~DZC*yR$ql^Xi$C-70su(A2L}KE delta 17 Zcmext`q^~DZC*yB$ql^Xi$C-70su&x2Lk{A diff --git a/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.CoreCompileInputs.cache b/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.CoreCompileInputs.cache index 06e1f9e..bc41d4a 100644 --- a/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.CoreCompileInputs.cache +++ b/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -edbeb0602671ff3a488980efe6bd07b63a7a9444 +fbf046935c9043d1db5779316966eefab0e33db4 diff --git a/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.FileListAbsolute.txt b/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.FileListAbsolute.txt index 9571c92..f99e83e 100644 --- a/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.FileListAbsolute.txt +++ b/src/HiSocket.Tcp/obj/Debug/HiSocket.Tcp.csproj.FileListAbsolute.txt @@ -10,4 +10,3 @@ D:\MyGit\github\HiSocket\src\HiSocket.Tcp\obj\Debug\HiSocket.Tcp.csproj.CoreComp D:\MyGit\github\HiSocket\src\HiSocket.Tcp\obj\Debug\HiSocket.Tcp.csproj.CopyComplete D:\MyGit\github\HiSocket\src\HiSocket.Tcp\obj\Debug\HiSocket.dll D:\MyGit\github\HiSocket\src\HiSocket.Tcp\obj\Debug\HiSocket.pdb -D:\MyGit\github\HiSocket\src\HiSocket.Tcp\obj\Debug\HiSocket.Tcp.csprojAssemblyReference.cache diff --git a/src/HiSocket.Tcp/obj/Debug/HiSocket.dll b/src/HiSocket.Tcp/obj/Debug/HiSocket.dll index 11ac0c843018ef9217dea6955396ed775bcc26b0..fba7df019c100d6ce257f690e46cc02005d3797f 100644 GIT binary patch delta 1446 zcma*nTWB0r7zgnGIkPi6o9ryRo82^5b8V7Mc9S*M=3+LaO+qD?Chn%jQi6RDS|zfT zwC2IfW-yfE1+qQytpOjzOR>I8y@H~ch|(0i)CaYcS|JJzYM??88~o<%QGD>hfip9| z`M&dgXU?#@FuO3jbVmCsoytE~%?{>YpAP&v3QT~Gqre+lzOKZ-0QkwPBS4j?<8g7A zHM1#Uvs@@SMgcnRrNN=2TZH&vu8zcj5VW}3c)-LtWwN)5~9LW#H#78i+q{cmB* zMbcf^R9YtOL0w~^%$vqAzZ)?r+x)wW>lE9IUKP7WvAr0SayOl!3nv?MvJ4wB zGrSuEyZ_c<-hE>=i=Tk12VZ_Hjkh+9f$DK>;!_eV=D)+jcFF{ur< z#SIMOWpS!BmMd#>Gd6tSJ8T4#N@3C{&L}mL#_*9+A88!FOS${=I6sJ3TvlQ3OHW{2 z%Eq?Q%O~-$ioK+p{5~uxUC{$PjkmfL&+9>Cu&yRvqUBCuTj_h!A=D?_7B&XZ%kM|R zIkanqi|z7BJp%eh&Vh=bJj@UsHKTeD&Z5W3)!g<4PyYD%+5_hYhhO~AmtL#A{i*YO zY)XsMALxu*jMJ!M!1WOt)GVDD$~^tc)tgToI5xb}_wH-j{B+*&CroBFj=A}TqhHju eSF)s&YX6dn0aoS&l7DD?vd;ZPQJn&6k8UF=@6|OAQfGlR|VJ z(x{+ecOizf`q1srg~QRl>mk)(ZZsR>gl7tLM>(dx>wozeFyFM@uPh!AA|94jMVc!Uejp zB2nO!5u9?m_-$ts{giF6fG-{dx19=i$k@Un?t;hf#s*bW?2lAF%36R$L;RZ%u#r+610Y5GeC_%1B{EylWWR_i)T z@?H!!=VxAL)BHYMQOe>Yw#xdj(jsG7d}#{wBOcA`Lvxk&!;IzgCT)QMti&*>rruOM zr-E6$qjXK{D?7;t;Fo`FDteq^gXq%wm|}x?LTR1d<^n@_-<>Lpr4wzckq>->jbK(Q zOxlA}S}mkeT-NF#jUf=1d2)ZA;k(0+*B|l@$MzX<`udZWss`Tvv?JA@2|wWd8n;=vXH?G5AN%FFHdj~1hP|eai_8lq?izfy$1C3c JGs`6k{sds`6P^G7 diff --git a/src/HiSocket.Tcp/obj/Debug/HiSocket.pdb b/src/HiSocket.Tcp/obj/Debug/HiSocket.pdb index 78faaf9f34f3b369e37d7bcc0102dca97030f25d..12c7efb4a03dfa832a7c0eb2835cf8eee9dc61f5 100644 GIT binary patch delta 1850 zcmaJ?ZA_C_6uzgn3QQJWsg&}f3`(I;szs2xNx{m82ujPBbW=!(TRJBW5D+)qEHg3L za85W9GZ*8`WEkhv`X**(l86bJb2E-*m@SU%kNYqiE-o&*ANzRjJBcRyc$53wbMAf4 z={fh@a~s}c2=6hRHpV1=Uh8clA;inKzW%XyRjBMx;RnZN^)wD>$uT*z%?**=@yiA- z)OfCbGUB@V+H(gtcZDLpqjY9oMU?sXLzCm*Ts(dG)5^UQHRkVqrfXTgi0=eNhv&c{ zzObew-!(;zpJ{p{v22pq_oACuq zV=klxj$Pz|ZUZiGY~a+aObYPotQ2d&AcRakLCjKuCL!L&coh1(+?Ul)7dSRM1?bAQ zPy&}__mi6^vTauPtOr&%W(#p1$%bH6%(2cos^u1^hr0Mp=K+dvZjQ|wd5B*cCB#0A z0Qh6PCC5YYJe<={F3xq?tS;jN&!y2qB*qA_AIw7D;_}1us7reO)%6x#=Yd5w>-C5D zN5TCGL&hJ^R~Gf-=$>5M3#-Y+J=Df)-M#cWe+)d%Wx2g{iN|t7Wag|TPOBMN%$!3h z9PGm=hoAYpWr>HHcz8(<3Z&$#yeuycMe;&=8j_W}^GfhL*cr?>@|SsYQ7LQ==EtE} zO1=}t@&fC4Q+|m0w2Ayog3)hF*GGHwqbFfyDv0Oyf)yx9q~IeQcceh&{hkx#)_luA zkMO3)KO~oCf1-_$_R#XX_(Afje5^2tLAhfr3L?p-qD~|^QS=U( zweI3m1{z`eN)MgnCg52fT3Jk^JP91<`6YhCh~R~JNgOVT17)DZ3CbvN6f!)P#(}0( zsG7U<4$(@sm!|;B$`2s7sq&4qfqkoNz-LyyhjpdGkM)*{655~*S0L_Go?qz%`YJt? z!Y@?rQc`ieGv8bxW~Xv&mAXK#$}v-nWC+h6vT?=Kp+AozN|98~N_CN}-EHFZcc{m;H;s+4`;&-c}lD( z7WYp@)Pp+3HyhT&ZP_|M+zzet8{BiaxhQF{F=(jPCGKhr!jTeG`G-aaZG*JR zcvhE3rED4pPvP7S3y$U-^n1|f@hJ2dz74LzEn8KS6-g$uvekmdlB5&AU+QCfUYTeJ8-aP8ID7G|3kdk23b<+qXlPKC0b$@7JsUM%wO_w08(e33M71Zrpc>tD&`F$`iVpZixm&G&%DP2l9e(F|DNvK|e tzT<|pP?xG_BvhcITgB;jbX)jnx0%A)x$Y{%|NIwjcN^&oZS4*%`Y-?8-xdG> delta 1853 zcmaJ?ZA_C_6uzfY1(c<)Lu!5b7?jeMwm^Y_)A3PCv4T(#kWR&funCUoKxowAvKmd6 z1w(`*5!{~{AugMn!~Sq)qR}immgr;&i<+>wM9r3ni*v;6$Cf?!Rieqvn%w7n+;h%* z&OP_sh7an(2X$XX#V${|zN(po5Z|5uIvg>m-qYV_)t7~rRzwnGoeSf?ohX}Koc43( zz0Z!1HrDM)PF$VcGwvCs(@Xu)@ztk)>pXHe23E5l3qx5ZU(w}DBS_P znEnG*^MGYFHSks7W{$}yp;lfC?BI_wT4{u5Gt5B6YNWetx8~`LI^JSE3g=@sBO7c> zz$MxCQvk9Vm}J|`sdg*1^ICg~sa+?8EImOiP=b0PKEZkk@_F88@1q+Wmze@|Wg01q zeVKja=c!Dy$-m&4*PVqzoI|l~@M_{XM?JmGEsjDu$Rmy;G|6tK*);i_eR;GHhp=j4 zf0MU63(3J_&OY+7+hsQSqMk)Aj}c;dtPqD`*}&Uf0Ysi~$;flAkLeK)WSLEmp0gi? z?R_knzk{!4_2KB=$nJ&LboMU#kgIcgX^baPIR55=JV7>v(Qt};W zRuQm+x8=9dNMtJCN^tt?)lD%0?dVCEm(1$sh5og!v?I zd+i(YMJ%h{C6qn1`Y}F8MJj*#dJx4?Q8$WfE>`(aQ4j^nov7jS0j~ol6ToTkh*)lbnc`O? zIpu#6ZDdPD3eZ<^1hvgnv{Day)|i2Bt@#{!#UFsa#qXt_$e15_yLefp1L&!g4c}9_ zUvc4h=YLCtSm@%oDm6)J<(h9sBA9k82XtBdex-vutI9t(@YIoDHy;PLMeKg6UnWHO zNdyr_Y+-~P2f7>-d%^^o47vg|74*UH|AgfiBz1zS(8q{a5sym{hYO{M3@oR{W1Fq( z;o#ENqZo0)SbsH&%&(+yzj_=mBk%_C+|v|9ASI~suT3`U2baCrC9*`eC=sQ? z6R8TOCXkJ%cBDr7cO>X=Yf`ru_42GW4%h2ur>gIO9K$o6MqE0jOU31O0Wb4D;5Ch( zmb`ujb_%<@j5wULkPRqkDNjI7*XYyw4HYLbgP(Ppk6+b`?P)e{O#2^`MiCpSw7-%SXOgtkBS)v>OaKO ztHr|%OZn2gtiKIzo#ro}si5Y6fCu1thQEO2EofC9?=kAiXV qWR2T8&!GohAr - + \ No newline at end of file diff --git a/src/HiSocket.Test/HiSocket.Test.csproj b/src/HiSocket.Test/HiSocket.Test.csproj index 3a8f67f..76fceb7 100644 --- a/src/HiSocket.Test/HiSocket.Test.csproj +++ b/src/HiSocket.Test/HiSocket.Test.csproj @@ -1,6 +1,6 @@  - + Debug AnyCPU @@ -39,20 +39,20 @@ 4 - - ..\packages\HiFramework.1.0.2\lib\net35\HiFramework.dll + + ..\packages\HiFramework.1.0.6\lib\net35\HiFramework.dll - - ..\packages\HiFramework.Assert.1.0.2\lib\net35\HiFramework.Assert.dll + + ..\packages\HiFramework.Assert.1.0.3\lib\net35\HiFramework.Assert.dll ..\packages\HiFramework.Core.1.0.0\lib\net35\HiFramework.Core.dll - ..\packages\MSTest.TestFramework.1.1.18\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + ..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll - ..\packages\MSTest.TestFramework.1.1.18\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + ..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll @@ -84,8 +84,8 @@ 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 - - + + - + \ No newline at end of file diff --git a/src/HiSocket.Test/Support/Package.cs b/src/HiSocket.Test/Support/Package.cs index d2192d7..d4329a7 100644 --- a/src/HiSocket.Test/Support/Package.cs +++ b/src/HiSocket.Test/Support/Package.cs @@ -10,10 +10,10 @@ protected override void Pack(BlockBuffer bytes, Action onPacked) { int length = bytes.WritePosition; var header = BitConverter.GetBytes(length); - var newBytes = new byte[length + header.Length]; - Buffer.BlockCopy(header, 0, newBytes, 0, header.Length); - Buffer.BlockCopy(bytes.Buffer, 0, newBytes, header.Length, length); - onPacked(newBytes); + var newBytes = new BlockBuffer(length + header.Length); + newBytes.Write(header); + newBytes.Write(bytes.Buffer); + onPacked(newBytes.Buffer); } protected override void Unpack(BlockBuffer bytes, Action onUnpacked) diff --git a/src/HiSocket.Test/bin/Debug/HiFramework.Assert.dll b/src/HiSocket.Test/bin/Debug/HiFramework.Assert.dll index 53e2f36a6ed1202b68df8179d28ea9c31bb0de67..853091c15df8513ecb09af2b2f028133231ced00 100644 GIT binary patch delta 1587 zcmb7^Uuct87{;IXBu(0+Nx#H4oz}{i7HMizsno4gQmvhvt&X++$?z-~Pb+sv= zmi6l$z{@(S;`$i1`BKKRxd!z)>L5!mQ5)6kpQvShf>$tQfU80kicw&y1|a=ophpiY zU$zeLeXwOxbw)A-q+PKvA0lS4J6jssrQ-ffGY>g>QpF>p*G}zMuC4w|Pi5{j8xb+w zYu4q--TsW{xXjj1RV4ebO*{RWlV&JXIiJz1H!TevQf6r%AM#RV<9Wx7h`Bmw)uq0z z%r}=B&lqFvTxSD5(6dT_vjJz#m}`SJsZzQ|RHt`-9iPuariqYNv3mX3)!zHW1+>od z!?=M*iu;G>G85C|v*xjEFA(F$XiXl*KsCU5LF>Nc;9hQzvaZ*A+-+H2l%Evf%VQJQ zdZ*<;mS3K)QF>cddv<~P;l)>u zw?G4^!9zz~C10gkY7`5l%~oqrOoioSeS08bt$Aj=IBfjYzMk zF*<@5aNdzi9Jm3CWi^T>EIaB;8bLGeips;Q-jO#T%yV8#R0x;*6-V#%Y*b-on(Tj# zuS8cO{+|<8HE2}C$!O$fS`Agx>a*Z^9h!QSNin62QfRH7!03C2#F;_lAHLB{TrzmZaa~>PSc3Ukt2}eo-xVQ^4`U z$ss;Ampo4)a?4Q)P?3B~<;5esgBne20=ana2VU6$lAZ3bY!!~U8*m(3d{ESQV+2Gk z!6GgqSiovedTFhwcE-wh$>aw`wO8}(&~?I6>x_jnvE3|qwUCpwF9$Dk#;kjEw0tML z@xKnOamJ3TB_mUx;d~K>B+Vd$rz-QqB!%yrh&(I3pf&=oeCWOye6y zb)YIk6+!4H14qO~QLkC6Pw9i`p)m7~X(q$DRq=jW2OI90T0b=*4=+u2p4VLXIK!I2 zx9A6tK|G)q6vCKcZQPKM$?k}D%t6Bp+l#sAFxg$sn}_H$>!dc!#|4uPb7Bc@%&@&E z#hA$ksU2k)*DQ%&v`=@R(8V21qrenR&ohc_ur3f&q+I-8>)9Fqr%X{EgdlE);F~ID zbfAjSz*3DXH8v`2MzbbcHSX5f$v78XdVW}Azs7Uu79~iU^I_q`IXo1Vj0q8h++y3} z$w{b6)31>okBhRvULphbfz%6ook)>0K*o{lyKYQ=-Pv^JXoLG(%ZbX=3YUcz)z$Kk zPmK@9C(kOcp7bfUpZtsa>5}{N%Z*IulaqIWqd42LqezfSC`Dar(qiXI; x`n_T#BU2p3P!>b*gaA4@xev{Q=7?=R5!a diff --git a/src/HiSocket.Test/bin/Debug/HiFramework.dll b/src/HiSocket.Test/bin/Debug/HiFramework.dll index d6f25f1753de935b21acfbf9e9ef58bfeddf5d04..f094f4cf82a680491f64932922c33bd1ae5c65cb 100644 GIT binary patch delta 8643 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 TCpVfHYz>% diff --git a/src/HiSocket.Test/bin/Debug/HiSocket.Test.dll b/src/HiSocket.Test/bin/Debug/HiSocket.Test.dll index 5b2b2561187f8c746f030d17366e1bb977e52df3..e2b2a808f9cf5cd547cf35588044a26143c71c5a 100644 GIT binary patch delta 3960 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 N%le;R(Cfb%{{>3-ZyW#s delta 1196 zcmaKsaY!3?6vywyp1n9^jW-vwn>BjIG^VJnz1kQPy*mSK(-<|eW4Mf|?Z&{EhOK{$ zA~SU0AKTpIF`ShBQCe8XS~UGpO4&d}hAo|}VThewWzLC%y0NW)1i`}IT`T)<2fxpK z@4er9_kO>7zZ=m`wL(AU|K9% z8sAfL?~~c|^^cZ+dQd)aE300H>m`CDk*Y_~gg)6#?32&K7Ou-O(ONwZdofq-B|fRXDNGh}oKY06zAoYq zE*nhZs_Ul3vl}~N&Di1=@aGyQ9L6U#Q6sDSeag4segs?W*1j-M625kdVs6xa10GC! zbvVp!cvBYWLswk|F;q7IDg3JLLzqLQUM9X;-v~MUxIPNM;=}q26!u<2m}Y+0FadKc zai9Re!}<=+fe_yPthNKEL~K1|gD`d-T7o!wlvhY+6rFTNk=QRvyG2Os%ue>p7(LP> zjQwY*z`I9ONMNxq3S*e?&BJHtYIYMN&39o69ey`a^^d|L-to&s)t|!GTFT%rJli4@ zjb|ZH1|n7lWQz#+r~gg78gPPw3jwc1d1`ngC{WI~gF0oq7M!3wq1FkCen=GYY}*7V ztXQ>!FtbyexirlNGuWlg!)l24@OVC$Q9V)B<|BNY#|(uG{R}jMn-9-ucOK4ChPMYH{zrF9=fZT=_r)~Trn4- z(MiL}S-B$aAM)R)p|NboI{-m+b;=NA$2uDU)^WJ&E$fEm={q@0^*gYzy974S(H(;b zCc7J96fbsvP3w!q24DrVu_&d0_>UC37;l0NR@{>Uau1)>VTH|}%$I^Tu8O>|2n}!d7(qEah|Bzk{fNa9xtIIh(6KPJ_Vl_@(NnQ`)O;WhH_r2}`)u=2*y`_%M% z5Km-va5i*_ diff --git a/src/HiSocket.Test/bin/Debug/HiSocket.dll b/src/HiSocket.Test/bin/Debug/HiSocket.dll index 11ac0c843018ef9217dea6955396ed775bcc26b0..fba7df019c100d6ce257f690e46cc02005d3797f 100644 GIT binary patch delta 1446 zcma*nTWB0r7zgnGIkPi6o9ryRo82^5b8V7Mc9S*M=3+LaO+qD?Chn%jQi6RDS|zfT zwC2IfW-yfE1+qQytpOjzOR>I8y@H~ch|(0i)CaYcS|JJzYM??88~o<%QGD>hfip9| z`M&dgXU?#@FuO3jbVmCsoytE~%?{>YpAP&v3QT~Gqre+lzOKZ-0QkwPBS4j?<8g7A zHM1#Uvs@@SMgcnRrNN=2TZH&vu8zcj5VW}3c)-LtWwN)5~9LW#H#78i+q{cmB* zMbcf^R9YtOL0w~^%$vqAzZ)?r+x)wW>lE9IUKP7WvAr0SayOl!3nv?MvJ4wB zGrSuEyZ_c<-hE>=i=Tk12VZ_Hjkh+9f$DK>;!_eV=D)+jcFF{ur< z#SIMOWpS!BmMd#>Gd6tSJ8T4#N@3C{&L}mL#_*9+A88!FOS${=I6sJ3TvlQ3OHW{2 z%Eq?Q%O~-$ioK+p{5~uxUC{$PjkmfL&+9>Cu&yRvqUBCuTj_h!A=D?_7B&XZ%kM|R zIkanqi|z7BJp%eh&Vh=bJj@UsHKTeD&Z5W3)!g<4PyYD%+5_hYhhO~AmtL#A{i*YO zY)XsMALxu*jMJ!M!1WOt)GVDD$~^tc)tgToI5xb}_wH-j{B+*&CroBFj=A}TqhHju eSF)s&YX6dn0aoS&l7DD?vd;ZPQJn&6k8UF=@6|OAQfGlR|VJ z(x{+ecOizf`q1srg~QRl>mk)(ZZsR>gl7tLM>(dx>wozeFyFM@uPh!AA|94jMVc!Uejp zB2nO!5u9?m_-$ts{giF6fG-{dx19=i$k@Un?t;hf#s*bW?2lAF%36R$L;RZ%u#r+610Y5GeC_%1B{EylWWR_i)T z@?H!!=VxAL)BHYMQOe>Yw#xdj(jsG7d}#{wBOcA`Lvxk&!;IzgCT)QMti&*>rruOM zr-E6$qjXK{D?7;t;Fo`FDteq^gXq%wm|}x?LTR1d<^n@_-<>Lpr4wzckq>->jbK(Q zOxlA}S}mkeT-NF#jUf=1d2)ZA;k(0+*B|l@$MzX<`udZWss`Tvv?JA@2|wWd8n;=vXH?G5AN%FFHdj~1hP|eai_8lq?izfy$1C3c JGs`6k{sds`6P^G7 diff --git a/src/HiSocket.Test/bin/Debug/HiSocket.pdb b/src/HiSocket.Test/bin/Debug/HiSocket.pdb index 78faaf9f34f3b369e37d7bcc0102dca97030f25d..12c7efb4a03dfa832a7c0eb2835cf8eee9dc61f5 100644 GIT binary patch delta 1850 zcmaJ?ZA_C_6uzgn3QQJWsg&}f3`(I;szs2xNx{m82ujPBbW=!(TRJBW5D+)qEHg3L za85W9GZ*8`WEkhv`X**(l86bJb2E-*m@SU%kNYqiE-o&*ANzRjJBcRyc$53wbMAf4 z={fh@a~s}c2=6hRHpV1=Uh8clA;inKzW%XyRjBMx;RnZN^)wD>$uT*z%?**=@yiA- z)OfCbGUB@V+H(gtcZDLpqjY9oMU?sXLzCm*Ts(dG)5^UQHRkVqrfXTgi0=eNhv&c{ zzObew-!(;zpJ{p{v22pq_oACuq zV=klxj$Pz|ZUZiGY~a+aObYPotQ2d&AcRakLCjKuCL!L&coh1(+?Ul)7dSRM1?bAQ zPy&}__mi6^vTauPtOr&%W(#p1$%bH6%(2cos^u1^hr0Mp=K+dvZjQ|wd5B*cCB#0A z0Qh6PCC5YYJe<={F3xq?tS;jN&!y2qB*qA_AIw7D;_}1us7reO)%6x#=Yd5w>-C5D zN5TCGL&hJ^R~Gf-=$>5M3#-Y+J=Df)-M#cWe+)d%Wx2g{iN|t7Wag|TPOBMN%$!3h z9PGm=hoAYpWr>HHcz8(<3Z&$#yeuycMe;&=8j_W}^GfhL*cr?>@|SsYQ7LQ==EtE} zO1=}t@&fC4Q+|m0w2Ayog3)hF*GGHwqbFfyDv0Oyf)yx9q~IeQcceh&{hkx#)_luA zkMO3)KO~oCf1-_$_R#XX_(Afje5^2tLAhfr3L?p-qD~|^QS=U( zweI3m1{z`eN)MgnCg52fT3Jk^JP91<`6YhCh~R~JNgOVT17)DZ3CbvN6f!)P#(}0( zsG7U<4$(@sm!|;B$`2s7sq&4qfqkoNz-LyyhjpdGkM)*{655~*S0L_Go?qz%`YJt? z!Y@?rQc`ieGv8bxW~Xv&mAXK#$}v-nWC+h6vT?=Kp+AozN|98~N_CN}-EHFZcc{m;H;s+4`;&-c}lD( z7WYp@)Pp+3HyhT&ZP_|M+zzet8{BiaxhQF{F=(jPCGKhr!jTeG`G-aaZG*JR zcvhE3rED4pPvP7S3y$U-^n1|f@hJ2dz74LzEn8KS6-g$uvekmdlB5&AU+QCfUYTeJ8-aP8ID7G|3kdk23b<+qXlPKC0b$@7JsUM%wO_w08(e33M71Zrpc>tD&`F$`iVpZixm&G&%DP2l9e(F|DNvK|e tzT<|pP?xG_BvhcITgB;jbX)jnx0%A)x$Y{%|NIwjcN^&oZS4*%`Y-?8-xdG> delta 1853 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 H-jx0yL|jAt literal 114528 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 diff --git a/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll b/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll index b088c5ef7485094ce3be626e580430973238438d..85806bb1847f6ac3e709eb23891c312e0cff9027 100644 GIT binary patch delta 8543 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 delta 8345 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 literal 122264 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 + 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. @@ -24,6 +169,11 @@ Gets the return type of test method. + + + Gets the arguments with which test method is invoked. + + Gets the parameters of test method. @@ -153,6 +303,12 @@ Gets or sets display name in test results for customization. + + + + + + The assert inconclusive exception. @@ -1902,7 +2058,7 @@ Thrown if does not throws exception of type . - The type of exception expected to be thrown. + The exception that was thrown. @@ -1928,7 +2084,7 @@ Thrown if does not throws exception of type . - The type of exception expected to be thrown. + The exception that was thrown. @@ -1950,7 +2106,7 @@ Thrown if does not throws exception of type . - The type of exception expected to be thrown. + The exception that was thrown. @@ -1976,7 +2132,7 @@ Thrown if does not throws exception of type . - The type of exception expected to be thrown. + The exception that was thrown. @@ -2005,7 +2161,7 @@ Thrown if does not throw exception of type . - The type of exception expected to be thrown. + The exception that was thrown. @@ -2034,7 +2190,7 @@ Thrown if does not throws exception of type . - The type of exception expected to be thrown. + The exception that was thrown. @@ -2169,7 +2325,7 @@ Users can use 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)" + 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". @@ -2504,7 +2660,7 @@

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 x3HjXMld6`ZXv7=Oe^_wa4irYxbyD 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 TQL2yB3!Dbuw9Ris2hINv$_{Hk diff --git a/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll index 3effa4cbd538c38c8d6f5c486ab473fd0072ae8d..573851fee5a22af1de383e2acc17ef2dbc80ae59 100644 GIT binary patch delta 17769 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 TE&rugUf;h`1dpC@H4FVeNG2>M delta 17734 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 APXGV_ diff --git a/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll index c8483c2f1b7f8a2cc32b8ef65b1ce67de7a69c0e..c874196a37b3e93e0ef66379ceb6af592668e9f3 100644 GIT binary patch literal 73456 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 QtWvt_wl;5Q-U!710+iKuw*UYD literal 69968 zcmeFa2Yg(`wLd;{clYjURje*smgJS|T9($5Y|8~37fCMQZn*#^_FB8L1(H_mu564E z$n+iv7(znFbdnHS2oDkyN+5Iy1OhlXw2(&)p@aE<&zZS*ccrx{zxUqf_xb&wY@Ivj z%$YN1&YU?@ZqcGc&lL_KgcHBtd?UnNxYExohWiJ7$j%vdcaFF{|SZGV?~qsHTK#)b;vJ*H}|;fKw<)kG<0%8v|x1rkQd z*@fuIQN@m{{5fb-)xQ+oS>sVTxrX69r@dqivoVX|&juq3IEz)X1PuOR5LQ)TY(vjE ztA-nnUQU4EvIv|QZ8)6%N2nt3_|YU2h5T?Yv#P;x9Or`+|6syIL9HPc=mr{2KXOb* zO=c7Z?T%Ga6P`lTq<=V-7y;m57#WFVO|Jh7uq$3}F6t^Jsn7@ArWE7^2yTnOi97wH zNa9!E9;{7c_+fT4G8*)&MwJ*;rFoTq4A3g*S5Ry6ScPJFj))&rui=MkX7%B!AnRo& zw3~J|N zq-ND-?IaF3P6Unhj&mtS&b?5XLU~r6;itBPW*rkOAO2#Vf- zQCx*&9g^g)QVfC|_&xMt3Hicbuk#E61u&|uI=p6ek>bkCmu7_6{S$~c3V-d6O+@k- z)y8=!2LouC!@P%kjcw4saN(FQBC5 z!_I1t(|;-mdWZ9srFiV9l0kym zA{c~T|AE|>g9ph0v>}6x{F2^r3Y|B=cw*$v#f@??V@mSiwalf90! z{J_$3lGgJ1|7H`hf27g!M@d?8n*24nUuVIV)USL+ztZ)G^y}<2{iC27fN#CoS6lakj3FW5-ASi?Eh%BoNi zuoiYAS7Y!4Q{1Qh)x~Ze{X3!z$Ae-X&Hhs$hYI;mLt^ShV0P9VWD{y;s^R|(GOa+H z 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 AWB>pF diff --git a/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml index af5e255..a71d66c 100644 --- a/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ b/src/HiSocket.Test/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -4,6 +4,151 @@ Microsoft.VisualStudio.TestPlatform.TestFramework + +

Users can use 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)" + 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". @@ -3588,6 +3744,21 @@ Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. @@ -3660,7 +3831,7 @@ - Looks up a localized string similar to No DataRowAttribute specified. Atleast one DataRowAttribute is required with DataTestMethodAttribute.. + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. @@ -3785,6 +3956,11 @@ Test is in an unknown state + + + Test cannot be executed. + + Provides helper functionality for the unit test framework @@ -3835,6 +4011,11 @@ 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. @@ -4086,6 +4267,21 @@ 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. @@ -4191,29 +4387,5 @@ Gets the name of a data source found in the <microsoft.visualstudio.qualitytools> section in the app.config file. - - - Attribute for data driven test where data can be specified inline. - - - - - Find all data rows and execute. - - - The test Method. - - - An array of . - - - - - Run data driven test method. - - Test method to execute. - Data Row. - Results of execution. - diff --git a/src/HiSocket.Test/bin/Debug/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/HiSocket.Test/bin/Debug/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll index 70e919148cb0dc4fa0f11de39d76371914e81db6..6d7c271884b29b3e867e989a6e53d4bc4555c681 100644 GIT binary patch delta 8224 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 R73rGMX1cSDd0hhp{Ra+%hPVI# delta 7425 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 diff --git a/src/HiSocket.Test/bin/Debug/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/HiSocket.Test/bin/Debug/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll index 9348cb5d23b34fcd4d5e69627229ab1f08683a73..5e677a3ffcfd9a64c8f2be4a48ccc0b343cb3c4f 100644 GIT binary patch delta 6135 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 delta 6166 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 delta 6975 zcmc(D2{@J8+xN34v#pGgc^<;Ew`p%mhD?cMjLc&p$vkg+D-sD0B}2$?NF*90Lm@{c zBxOwIs7xtR;axiC^gsXe{;%))zUzCh>s{+w)_wohy4PBJJ@;C_bz6FYO6@_Vp0f~M zRkVfvOk)sQgc-#QLBar_`vYv!1ogJA1quZ1_$i|y2>Vn0R}IAi0N?|0P};DBggY>^ z+3unRL9>``;m;%u#?S(?GX$|9+M>#cElP^1O%Nc$+XXp~62$*B&;siAB%;V&ln|pc zkih7WBr=K;l`q&{6i9}kpdlPIK!%`X(3$Zk3PC->5X8U>L1v(iMF=P{is$osTu0dE zeZ3q}{s&Jy_mKv8F5<{HVGp7XN0vnM<``GMXvWvBSHk zJ$f9iI>d8m)IQQJO8QYVIus*`A)qFj(a;*MaVWf}n2DuNvr#pzH@1LX)XL+;u*f?`MYK5<*~O%Ry9%aM zM|LxjutexP7Rg{zLXnXUCVsRd4w+#hps(N%US=`$GaRDHtcc#gA*Yy?P?AUyvn)y< z>0*`@2nSPh8$p4P3FHC=L2l4-NFPWiAYZ704&h=^L{HKo`Yb}coM3)-Q|J_Q;Ack{ z$Q;O_kP$r+!y>`*8)%g^g@S>ZFG2w`j?p81EOIE$bXG%@0%F9fiMC@z5?O`NQB25n zRyTA#6T*hqMsXuY@Txc~a4@ux7kGZ83@?tRG9z7h4cs&UEdfYE^x61vFbf1pBlCEE zyd_v-z|Xn;pcIzcG&U=2Z9eB3TF`zb_xen7!gN)(@Bx<~7xPo0+Cf19CtQPrJSJml zNFC1}wtwKY%REPL$N>Ro6c#BFc!T;-8z)FcD_S4gRPgfOXBz*=pl(cd&Ie++7h!MB zt2~y-8E??y72Um)Wg-Uuq2hevtb}s@2J%6;iJ27zF%Xm$V33hI5q|dMKhF{Pa!}Q_ zESx67jV{nk6XC377xhIUcyW#G)0zz2;IEX7*ovz#ZEJW4e02!P5_d*@MApT{P#uVX zgbhX+VnjkEq%bg~P+Kn1jlz%s5Gf_M4IsCq%n&Wq4n`Ope_;Gjvv#NSA}S50PeklqYG&JmjLt;5t2QqZlIto?tKn^5gk_^IVg?^Gvrd!E1+@3 z!8B|uOv6+ZV9+QunnMYU`^4RZdzde}mJ7&0LyBZC2&%$lSdE~jLQ+w-<6$L`{-(mz zTExZGN{tm}ro&ianK`f~ht13hQn17ys-U0l3IF3B0m26?^n~>+Ox1M=I%@Lzs%rZ3 z`g*!VWLeITa_yB(-gNdjds_&>$a>f8Zs)=yX4Y|-9f^msnWZW=;?;jMh|DS z?YlH@m7l!y(#`kx$Q179ON)x0mleHcvtrih?-AzDz1*TyFD!h{gF-&ciwKB`B+mSv z>@%|uW;dMd_17rH$N9X44;<@`dsPs%KNDZ;a2ISe4n#nbl$qBOzoU1 zpYO1?pvAC&aw4Io-mLnE_`4Cs{vhOz;ir}<%3^Vs@2ft%s08;7%+CJ!K(esbf+4rq zH1=XvHg8;R_m0hnl-moofi33f@x5t|15DhLIB3#D<*ZlRFZf$;cG7R3E|eBRRlEpXmqZ{DVFGa9ZP!&J5Mbh;Dol;r zc3u3xyDmb7wJF2KNpl!)r;gnYOgQq?D|~uS+j!D!F)NPu=)=AJGH(*^9rrWNk7>wm zw2UX0FOyWbX9RA1uksmTgcs`s-}-(%m~D00utO}d)>cZnF_U1B%hsi(LR8zFTRB|J zS6mz35Sz1KJge=+saKSDx)-KKKK0I2dCp_iMKVflMlh7&J?*=<8xw7yIKEL3x`|3Rgewi4g@l&);2uZXrGU{{P{nJ-l zGd|PeRcNI_jcBEBmhoqcB$}=#I!=(CB(<~nM(@w)pACC(gorlyIJGX+h&>WK!=4lJ z;p}BjQKmu;wl$Z(JkkYtqyr-2!b!pW%`bDOXHU{>s?@|s-#eDKIi(784MxJ|+itrP zYYZC|8^C&mf8SPuGECgQ5pW!GL?W34E6I7PkyKm>Zm_(HJK0lSS&5)3PjXjvkylf8 z@laJJy1RRTMxpI7#jv|zZp4{5O7WSpp6urk5Y}2hIX7xL>>$|gD_OKQ%^1tFWix)e zZ*bk-aGZ|PQfygwDdNk8CvhAsr<=e2c%ab96}STVm`Ys#+{P4;VV)mqB7;aX5V!~5 z`UO?A&6;xEx`I1k%4cM>=SKKK^V!2^{0tVG26~f>PT*zYzLYc;?G~xLR-#Es70&&V z&%Q6hHrRb}sOan&B0C!G?H-CMC1=$xT$48Py&+DN)+|f%-18kh5T_`Xp0;M=u~qzP z?g&H1>g$b%uO15PZRi>u4qtHRr8t{Tv^}*j75Z+M#(M0zcwAKA>=T_(b|-@5lj<&u z^DdTaEf)f=EI+<05OY2C3|9SeIJ(lgR#W*oGo363rpas}JGBx7|Kap7BOOi-k3sX{ zpaL4o7Kyb`M;5hqD9W?c>##4TDp1FnXbdbY+yYs9BVg)RIwm+_9X;gM$3k6%`Q?OJRzm@g@1aZA_%{RGnLv-}S~!&fQjL;Ka^2 z#ffKf*&S2VOEHwp@f)L)l6rD$sK3}1_O+3Hq33T=i5B3f6Rwi1t{M7tjiMfg4=0=C zd{LLp`ffYApQWQj4pmooZ@oE7Gh~n6iQK8<2a2PL@?52^)Fi;21PvSOW;=$aIN^ho z)WN;g2N|r~BuJgrZO?8-nZdZh$4#Y!dc0ChUhcssX4Olsg`7V$ta+(wyf@I%p6)17 z(XaQ2hRs0%x^p+edZMH^j=uNJHcX>9Hm7M!K zISZCJn8Yu~rWkXa=D3q`f~C@<`ho7TH7&XqrweJ4?-4(poE`s-cX@Tm6g5~CCV&Jh ztJ%R~zsQ{tO90&9)0?nE=7@x;_q?}iVomel!~Oe~Vb))rP&gcfrJ*3>rc53>A@)lP z+0}8A4bL~+6rTp2@_(VlDJa|0=QA?w7kTH6^7jzGoEl8+p`AUq^Sg+?72(I_qy#xB z79B0f@1 zMG&OX4{Ix{OAl2yEM%=p1i|@<6%|9MI1*sT|MA80*P0byZYSWP^?z{@l#-BEY{TdD^p9s^3Sz65A*c#Ir5a!# zGLi7dGm7|2{XcL~PePxLTuk0zdqm&0)=94PUW>d;o+sw2-z=LecHEqM@~%_TqO~Qk z`Q&S88XB4N_ELsdxp{7*N;0F8?icTwNzw>k6=Mm%xMKcR3&r2kj>-FA+Z{MJaGIR6 z)Fojn-}~ek(_+kPBHkg09sBVr)}qu0?e*2fHYs#WPGoG6@~~Ksy&DsWX(zY#iH=y= zhw5zQ)=XP@9j})U@uqlM7`!rI>LiU`h`h`jP3w{TT9Ptdxa8=*V`}|_RQsnfh91^W zUJnO8DSl5J;##j_(}XV5zhKt%?+dL62-D7@ujA>wcFXBw`1!*KqY-Pg(Aq_a&|A9qc*(;QyX~lwg=Z zlyikuU^i6{HF-5vWrDo2GQm^c)lJz2Fp)Be;Gs-VafeBWrr{6DfkgC;6Ba9NcOUd6 zJ6pVa>RV=X!n3I)Tl}1D^{=7Jus)9vD`y`j+~*s4>%{N?+ba=IHD6 zCEp>p<%>$!Vn`v5Z&p<1Z)9t@QhQ8!qYR^}nJ8%P>fZE}bw9 zUm1Amt;B8SzpV2hi*atNGt=rALvy-$8AIFh?DCdY|9ZA+-bQ`u*Hn3m_2+k@~(R0+4#E7hG-OgFH)e~VRvJv z3D26Jfzm6jx86?`j?~?`-`$FRsWCk{w5owqPMv zpGO0iI1RaO#+X;vIk%bLIY_&ARu(dnm5h_J(;jVnT3#&cihB zc;umZlGs1b_pdtxgGHl$Qg0Y?(!xQb;rF2M0ww$1O1j!J_mR#1+Oou!ypOph5{f({ zU!?5y{?{q^0XZu0p38=k%`PAyQKei{c`ho`VD8xQ1+QMMUD_ox zQJ~BddMDA2ZOXgS?)Q$<3+J$7pLK#PJyXhVnRpK-nk^!Xrtf#97a2W19vax-C6_cd zuQ3}c5iOtp+df)>pqbvOJ&^Bi*2G74dbXCay|#gS(VA9HIacMEtFI`1a8;{~2gA?m%I| zLu(J9T4``Si6ezpqK8+HsPGtuO1!W{_ujWuoV7}gVw#xS|6}+}huhA!Gby=fI$MdU zt*!oD9NVGDFOnxID5;X|V0yqpv1rui0_y!@>fQh60GmwGKOnEGO3;(n0~Z?zu%*BP z@tw6})?su)Lx84Q{zg-I!nxL=R(;ahKcoFTB-A1OSF{hT{~qmctN;ItF{Jb!$jaSm zC(EaBJ>SCNq(j49+mN(}lE*MJ9llOQvL6mX`avYlX4x=@YOzBf{hSRy8ciJwF7@A7 z>8rBxOKHRkdF|ufAOz4d3IlH`G%WG=4KIq+wU^&+Z_%e$xYDU9!rZE0_?E>x__0b# zzin=XhGERrnz0|2mqs}Z$T~d~zt_ea%`C-B%+udyJI*C78Fem; zIN0UEU*~a2%vFPeJ8bLuW{&mM*Qln4hejirF758LB4ba{F=&$>eBph2CjuLaOFqQ)%n3=Zd2=0-pWJYlE-!D|A+X6cB6U$H zr5N)*MQs=>VIee5j9AkUP3;_!Wqsrr&-hByda**HAmSNO>*#7DwjvF}gW^l# z^9Dp&Z5+qTSlcB{(W@KktEd}mmmBV<;a!IFUM`mMs-7sMVS-^A+5wymm^xYbKXo(^ zIX4dBU92~1laIr-UxRpS!n$JRR1_J$6;NAXYI8BQ0jA#nPyZztblZ(rQPWqI*CptI z5LQK57eTx4cO4lLQinx%vHf+f!5c#rCffZ1h<^fbAWZ)A!Z~Bh1m2`_unf$E#zETy zpivM^2mYW@{@a%UghunS{LwhK!8y8)#@3LGeqPU7 zMRvqjfsNzpNRUm1Aj3{0f-}0SAK;0Kra##KLs4srXu>&t(1jk^=KhQH$A7nMM< zUDj#3oYP)QDq-X7#=Mp}xyCVtzvP1xUD1&aN@j^ZnwnTnTytd-vi+STNPgV$<-^8k z!ut@!o!dMn!6mp3HNQ!T7vj(Meu<}>`dy7@km+*K#UuwI<=yFT4vbNo>|Y%EzXK*ZXPp%)=xuLJkr_zd3$AeYS|e+4hw%StN3H+n`x4T z_ctF!W}S%_+&Ze2;$&UkgEwEo)QP`c-e?f@_QKR|nA!sAtWM}^kdPRGCgk$)~Zr$$31{_lYp^B;lOvCd}`cMAf=XB0Q_k#%eO zt8_^kTX*jHsOJ0$}RB+ z(>JOL49ecW)4j=DoZE6ZFwfq_I$6e}a!16MTIl7wQS-xGDNlLk@2JOQ1sn35kj~$` zZ}CU>9VL924el&Ft^I8%#2SPj$ Wm%JCU1)Hx1G`|N$YV&)c4XOa=ojPg& diff --git a/src/HiSocket.Test/obj/Debug/HiSocket.Test.csproj.CoreCompileInputs.cache b/src/HiSocket.Test/obj/Debug/HiSocket.Test.csproj.CoreCompileInputs.cache index 8ec1266..9b21a1e 100644 --- a/src/HiSocket.Test/obj/Debug/HiSocket.Test.csproj.CoreCompileInputs.cache +++ b/src/HiSocket.Test/obj/Debug/HiSocket.Test.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -0118aca6f05bd58e0d91b00623506f62975b05d0 +d8979f8a0d0ec1e96f6020f45c852320d3ef463b diff --git a/src/HiSocket.Test/obj/Debug/HiSocket.Test.csprojAssemblyReference.cache b/src/HiSocket.Test/obj/Debug/HiSocket.Test.csprojAssemblyReference.cache index ab80db0a97e8fa5b6034875d51f06867fa1a19fa..8d1aa25fcbd061f4a74a179f32f7201a48788ee8 100644 GIT binary patch literal 52495 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 diff --git a/src/HiSocket.Test/obj/Debug/HiSocket.Test.dll b/src/HiSocket.Test/obj/Debug/HiSocket.Test.dll index 5b2b2561187f8c746f030d17366e1bb977e52df3..e2b2a808f9cf5cd547cf35588044a26143c71c5a 100644 GIT binary patch delta 3960 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 N%le;R(Cfb%{{>3-ZyW#s delta 1196 zcmaKsaY!3?6vywyp1n9^jW-vwn>BjIG^VJnz1kQPy*mSK(-<|eW4Mf|?Z&{EhOK{$ zA~SU0AKTpIF`ShBQCe8XS~UGpO4&d}hAo|}VThewWzLC%y0NW)1i`}IT`T)<2fxpK z@4er9_kO>7zZ=m`wL(AU|K9% z8sAfL?~~c|^^cZ+dQd)aE300H>m`CDk*Y_~gg)6#?32&K7Ou-O(ONwZdofq-B|fRXDNGh}oKY06zAoYq zE*nhZs_Ul3vl}~N&Di1=@aGyQ9L6U#Q6sDSeag4segs?W*1j-M625kdVs6xa10GC! zbvVp!cvBYWLswk|F;q7IDg3JLLzqLQUM9X;-v~MUxIPNM;=}q26!u<2m}Y+0FadKc zai9Re!}<=+fe_yPthNKEL~K1|gD`d-T7o!wlvhY+6rFTNk=QRvyG2Os%ue>p7(LP> zjQwY*z`I9ONMNxq3S*e?&BJHtYIYMN&39o69ey`a^^d|L-to&s)t|!GTFT%rJli4@ zjb|ZH1|n7lWQz#+r~gg78gPPw3jwc1d1`ngC{WI~gF0oq7M!3wq1FkCen=GYY}*7V ztXQ>!FtbyexirlNGuWlg!)l24@OVC$Q9V)B<|BNY#|(uG{R}jMn-9-ucOK4ChPMYH{zrF9=fZT=_r)~Trn4- z(MiL}S-B$aAM)R)p|NboI{-m+b;=NA$2uDU)^WJ&E$fEm={q@0^*gYzy974S(H(;b zCc7J96fbsvP3w!q24DrVu_&d0_>UC37;l0NR@{>Uau1)>VTH|}%$I^Tu8O>|2n}!d7(qEah|Bzk{fNa9xtIIh(6KPJ_Vl_@(NnQ`)O;WhH_r2}`)u=2*y`_%M% z5Km-va5i*_ diff --git a/src/HiSocket.Test/packages.config b/src/HiSocket.Test/packages.config index fe06c5d..ca7cf45 100644 --- a/src/HiSocket.Test/packages.config +++ b/src/HiSocket.Test/packages.config @@ -1,8 +1,8 @@  - - + + - - + + \ No newline at end of file diff --git a/src/packages/HiFramework.1.0.2/.signature.p7s b/src/packages/HiFramework.1.0.2/.signature.p7s deleted file mode 100644 index 8df35943e881836bdc39b740229319936673ad7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9461 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 DF{A~Q diff --git a/src/packages/HiFramework.1.0.2/lib/net35/HiFramework.dll b/src/packages/HiFramework.1.0.2/lib/net35/HiFramework.dll deleted file mode 100644 index d6f25f1753de935b21acfbf9e9ef58bfeddf5d04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 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

LbzSE==Um_S_w)Un0Vq;*2nLyG{pfiX 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
gZ(LO$)L$SEGHcd(1DaImvB(i7evgD=sx>l?0rv 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
<%0x^h+cac!cu~NOFa3?QY?oP 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
}m_n$X%rzXlj-o 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't3e?no2x_WsZTHQ2(m?lqK#nnNY zv2CI-5qZcYl7|DN2Ml{7I_h=iWYH#$73sW1#^}Ad(0KuRj=p)!?)CFdWH<3WH7<|@P@dpPdNgGrP@{hAWTPsv}$Qf!DmBb zo~JR-u-tXL9JOSc74&%opIr?W1dJ$5zCFtB`op5MsN)Qp%D>pV@_Fk~s6KEy0?s z&8|ENQpC9fsJ?%<65V=;P3bsX!()BQ2DeOQ>l8!z-j1 z(hZ-`cLSRjBlN+e879{DVMD^XslJ`Om0It!gbeaHb8!aAeUscLj#~e*UlLi+>v#aF zC44kcC%eaK+@29Wl!IwCCs5KFnK*~(iuRX*j;=8r*yl*|D7|#z)0qypsswmmoahGu z=U_l<47N3(WkCD&CPBjW&yY^*x5Pds1}HsCPNVwf(E@IT7IVGNATIP~9qCiGUA_F$GwBE3s>v8TR&tCnrr-z#9YFfIJ_u4U6?c}naH7*DB z$y;AH=O23`224J?6W-kA-}ql=5gr8FLUHCPS$MqO^Yl-CC*I#zo>2u~7t(Q61c_rE zr{FQ=oon+UXkP1odTd6!m#BRmO6S#Hk1m@YPH9CN4|`-Ui8o;_R0%XI97yeDV#TFm zYQxpGf^hXa?=Zc1M~Ad^PQ9K5xIM##;NF$u88&YzPSgx@+%6Zfl~IyyGvWk}e6#Wx zgqfw^kt#WBE6OJeld!wJ@8%#twXP{U(Jop~7jkA=GvDN;#S!kjjOs*B&4$nu+|S8c zIK!nSc`|C28rEg3&tTi#zHB{u%qz@&)|T)*d3pwO?GGU%<`AbYmS+FBJd#g32n#fO zxB=}~T92ypX^pW)$|)4(ygjPeuWhvRmD3)P_^)1GuT@87JrQDlGE^J773^E<>}qGx zA4y#j+>W2-=(D1V83L;&9d3uB+ z^w`-_%3n8O1KpuTKdq6u z6~6Sc!oImNqsaA|1!jBx>NBsR*@zA*wA#5|43JF0?tt2^-#zGt=r%DUW6m?)ONl$Y23c9On%Zja_{#t8L+Cq z^^YwJMB(co-FS$$|--P_MgS&?M$_0w&I483CP@-KiJr) zcGZ-2`03mG|5d#tbgX5k>he2G&h^#{b+J9?IM*SWFfC0N!}##jM-07yX{%i|5}}bc z?3romv&K_!baTgF?koND9R%Pzti1Jz-SpU7UtLmPs;)I2$uzp;I)GCzG*5U91M^tq zRDXNG(|?nCbKAjEOpU*1`gn9*iXsmM9@ssf=%>?xWA3`fquI>s-l`6koD~4p16Ae= zCZUyLSF0Nn-3}A$4`KEO1^CU=4D4ul+TeZA%X$M)_w$~a^AZO9L$`R{`v+!pqHw!~ zpus53>i%*#LT0z6aC{uSVZ?v$AC1OGaS>#^xX5IYu;a6LU%`<>Xki5U(g+1 zZg%ddaC&)G5a2HOb-R}vx;9Wr$#c1mK_@L!JHfVvo9Ap9_|N+117P}#egCKhb`-gn z9p$K+Bz-C`Qr8#Xj=N4?wc{~}%2Q|hb4BWB^jY4y}}6k?yfDXN#X9=+ki6PU@fkp)~j3i^at`^$m`ksrD`{3?~{lBiRDp` zHN`@vD167xi+g4ASp)Vl+lD-5Ez@RtXVh)vz^oN|raZ ztEF{*L4-@H#|s6QDfrTiW6?FQsbZbb8_dIRyw+V57QwB2o!c3$y1P>Y*?AZD1cTMovvm}d685(@Vd&JuQCGiPy+&Hx$>YK^H z5&}7@Nf9a#LLe3Z&Py~>xkzHgueENEF4C_EgTU$O8yW>A8*oC7B_(_6i{#^qbVo(W z`hGf(+M1CaK?>@dg=B%)HWTKK=jY^rkT}2vPks%sH&NUhU=ZmFggA|wNQK0AeZQ@Z;jog%I@3%wtibHlku=E2 z)S3F@Z{X$@e10q%E``$MJr(Dbmc_MReG*BxV&g#Huu~ml{!|-JHV$X|SkwJ%j|#uc z0)^UII-Tn`cexA^8eXZ;oQ^WOKs}9FwlGM8#lel_T&jZ9kZMsf&6pnTiK_ zhRZVYrP;Q7skxR>0Kg1a{>z5htLNk}Vdi((n?!n`8h!(@5C|wOXw*=lUE`%atcr*J zuU#h`Mh}+O@d$X`qrQMCNb8@ep(FuP4m9fDaZN-$-ZA5!LgGj+-JREYwe4ZU=|9(N zdmhS3{Q5kimIi0LVr_wXs*}nsj&7EqQRBDaxuNXZJMl-*A0r$ngU`WNdnmjoKX`+? z%_62txbj(6ko;5%q5E_?+5TOgN0xM5uv&}?oS}ek%~Q8`ZZ$#)x|VHxzwMhNU2QEo#FDbDq>&(@4;IpSwa6HwHp=;p#Vl3 zZkNjn8#`GV+YuXkKa{rLhJ?LT@Du$RrhN$^bL~2vkRMyAeFl!0!rg9^er2cIxzDs= z#5G9$w+GU@|6#{bi|ywWhyvHOwX@>;>JVS0kzf(qH}d{c$fDLzHRn@iz=oWdfoWBs z77j{e9dp9pjt6l(-cQC+&0ovg_38Cy+XLhE?ssRo<3;RAPsIvW4u4)JtFO`*%4@*pi7shX-lxBirBakmx2jm@!(UH?U%)2I6F|%U_7PYuTuLz^<%s5TJ*@Pk(q=Be$xsw$xrU z?*tX@!=TU*o3N9q7n1>`6oS+>eQjYNb4S)J38;2k;?0ci#^j}VQLNJ0& z87OZ4tw09tmwUL>4M@$)_FF4{jI@5-RS<#^@zm2#4VrWVcN1LG_8$Qv$)hf>uB-XD z(_E!BvBX92hc%*EhIuCM%JM~|Zrz@a?$gz9_`<#zFSky|B8f5LS_eVK5s}Q9H)V#} zbZ(7nPQvdUp_hb4OLH&J&AqHpEHQzsjkIO{jnd)8Vi-ov7Hz~%o4%?GOvIb5l~)q) zLps9hiz|;8nrmcT@3~0K{V_^^7u0qY9=1IQhMJxA#bHE(tn81LedV8F!C_G>pmeF< zyPS_W&PTvzd0fZ1$!ax;Klo~2tI-D~LtaIFy_x}K-EN^w#dkSfIo&U(malntqTWnl zwvfKY$OAF<<0*zOXT1UzGqk+K&bTRBl!*X`jEz8Z{a>%Gh^e>wTz>(N79;fboK5Q> zp_O~oskei7Xik;P3uJT!TtZFYkjpc9ziWAoLjgIhsQYc7iouKZ&vogU6j=DM3H+A zU8WPijQutb$t6Vb>?(zbgj3(0Wo7TT*9J8j=>wO>^huiJ(*C7mshrhPu`0Xzu<=e5 zXQ(jaYo_?HRPKPy<5gyJOq=qfM6)zYed&A*1_JHuulV%E2e`@MzTm zxO~lY;++90D5(nz@nw*n1Z$zauy3d(6vK4z8g2gudO~dss5)XB(Gd6;t@6T*6KY^_ z`R^yw=s^5#B7+2QU|0;W9p_=Mp4p<3Jq2DUp0RkR1%Y*MulzY+*w@oO-Dq8aItcGx8DnY~}mhK1|U5Awq=C1?;NAE(9nC&+<%W*Xk`ODVrb@aBXcD5{4 zk_uh_GsE4Oqr}?>9Y;?^~b|k72?}Y8DoSs>u!|V$pk=!+%Mnn&)1kit1yTwsly%DW4 zud>lH^2IpSmRo6gpR=RJrHO&s-Hz$o+H^*)dx(&k4Ejsztwtj zN><1_+|_czy`>oHB56KBn$-x0S-J>wlc=i`diSqx#yB+^WCnY@oQfB%&H?w2O)KV2 z8Wq*9>=|iW`srt{oR;T065cO2^|saaX?UEE`%(%1@2`B3j+@UN__^C_0E}Z;C zyN47%5-F6;gZCWov?Vc1E58$j>gA39VeOupLkZM24ac@^+qRvR72CFL+xCiW+qP}n zPQL8@&B+|h+5CsD>aObddhY73t;yLpuMMt>XmrtI-FC;>zo|LjoR`upHu=qsEBB9; zoYNj-u@P)C9_>42zOD*QvT_n)4-KB!%`hgj?R^2OL&T75jX?KWQQ!OXL$#OdrHeQ( zOyUcSeMl~9Iq4L;i_h=3s6vV3V%~1Q$7{gUh?iLhX$NrzKk(Xxpgz!@XdD;2Qire? z?#SV%1}#yRb&kQ>dgRqZ)B7_C+P;0caO8LbK_hqM*Z#;0yMx(*QvDD99Edp+XK<16 zOCMY7=i*P%0L0KxqzeXK1H`xfkAGIJ;sDW>bHxTJ?Y7o0qrZ1BDtGk7zdxXtYit+t z^M49}V-IFxt2}dgJu6Jg9ZZ~)OP^)fbK6i z7SCkkb$l=Za7Q&^q^PGP4WQU zN%#D#f&b)vmOM2zZ`NUN2mg?rTJ!cmD&)B`gBXQmg+vphl%*z3mip4Dm2y&J&Dukh z|8`9&`f`;c-zM$K?{|H)zDRSv;rM5;PmYRNFdouen`)YmV};8iqwnarvlF;y$lEv{=-$}DzrQH?UHGALPY*;&6jn57~eRu(Hbtd!u$W#0KfOUTb zU-pi*pT~vxn8~+)4ab~M7ExnC#-6}hWpUc6y44&!f`%$q9)I3juQFXQo&9wR)PItD zpMf_I52uX?-|7m;{u=^KOC6g`9;1q}skr6U<8$I2}z)&1ufa93de+z86 z0@l6+f?D1?zE+ut9)7RyMxrnC1T!8~!S0IN^$|tkMo{NjpfjZ%3*`TiBaf;i|J;+> z2SxYyV(seAqn^cKV(ZU1tS!%i9V3hinG6uxLT;j4F~QyAj*n&?;oPXy$lsk_v611` z^?i6->S=ummVTJNWQIUrL{o9X1P)wLq|2XmT+qqx^ic#d1V|5NSeQ86V89C{e9mCi zA8``pP-XQ5s;J~6W675e5XJleH|NDyS+dp^{=yfp&t^6X+O%sj=idvoLA94IPv^YA z=9i*(^h4+hs^ixgwRvLU`CW2~jERXN>P?jR?dA*^da95r5`LPUxJwhx>u$rMc)PNp zMD39q(cYZ%C@)L<>(BM>!|z?j}p0^S8**&WzD{ z{fyM3?qU+9rUc*Btd&21VABK=71y1{`)ms$UD_$~PvR4Irx&n;V7UrP(4398)4rru&M)`A(Rwm~ zCf&0}t531{%V${C+-VcHA`$IWTn+~p=>5gkf0%N*FD&bwkoCoLjW;c@-=sbKBUggk ze?0fkI&yicZEq$u&yiP+GMWv?zB1Jl>Ax%3dEtgTBr2gVdYPTWJbtP(@kVxG_fK(H zV#Goqi4q2tIP5=a|8OC)9YGaA8a^NI>&-+I&}vJx`=Izb7(sl&1DU7l`?H+M1Dofk zVxxt%==!8EvfGp9o^^j}ky@N(3Pa-s2)c$)qsK`0Zpca3w z;Qi6q!o57E#22t zcxrsVf22biPVA?NLX>@O*2Y6>K4B zhA-powfW__vwv{S4<8!LdVof%~R^>Indm%^#xH+7#MrC z_!evA+*EmwoZ8{5>=mGJZTN=cGuEuX=)Mn>YNXn()hi&R1McN5%}Wv{iO1a+9xbFi z*K?Jz)YC@O)oxMhynF9jFPUE@*N{1k>09j@2XM4k!)5M7%=FYfPZ6bz=JIihuWHDs z-An8|*PCtfH_sQ~RW-XbN~5sgiLEK5ygloFyJfVx-c=x1Ty*Mem#>2o_}%Td8ZF;L zOaJBHht00bP_=V0UBQ&5h66okDV$D~jm&pe zboisG2{TA#FF9oMkUOhy!`5f+b)r4*x*g|u;j9okK3roGhkusKe;=?L>`MN9(|V=b zWiRu)iSa~gf*soA_@QO%;O0nt_|MV=MLT96nuD+T24P>{#_O4SG%d@9Mx}4rg=F}R zh!h31A!}&&RGo~qbw?vAb%*YTlQ~ax$Xu1kk4{L)5C_r3Ox2pj`9E}S1hnpS&*$Cb zWWzPN77)$1i7it)@mWjfPFxioW!Ow(bNyZtgu5r?bz?H~C>p;u75eST{qp6)wm#W($Ag^->s(_^kqYj z2p*8CEJFNveH|X|g|UF{M@+4Gls{qfKZ!ocd!%Eus8s3gSFkWPwb0fg#t1$2(QY$3 zx2WyaSq<6PpSEsXtsc&!RMk6ws&>ZM;H5c~eNrkOrR(ACxwsnDxK_-$uRCYEEOavG zBGK8je*(^T_lSHdPIDet==LR2Sw#w`a!pg0#rDiGeD7{9z=pHPgJroXGVOnXdLuV& zBrbaBmW-0OpcwokPqT6}err0&Zt4ZZd_j4D?og_M3ya;s6VcO)|M2C@i)p#IiN+j` zvIsFf39H3%rIPbf<17rpM(PI9%&S)U61YQFK##2JOt+(98VyQa8gyw<*` zqn5S~-&~Vrp7c8Q?p!6U^o>feZ3D$}HOs79V(Tbpm3BgN(&?#tGm?m2q={$Q>D8-~ zw&bl;e4u|!ZuXL`Wn10Kcx=85<;sfEu5x z?ibJRj<~JMX>-Tp#&q1SW&!1bd87XgYCqSjs;;R13^bz~vDZ=&9=O$&;DT3%0_T=>EmDJN|_n z{^mv&DH-5a4~R*q0OC%8gRp=$Q#gx3l2b{^qftDtd+CeTu#xTQEUF+vKx+yi1>Q;G zcJ(9>hPkenWv5l&!%gRbo~xtrMnu|Wx9Jwx32msn%q+t+Y^SloPtUXCe`RI1*|YJM zbJDMn_4kZp@=fewBiH3=XWK($UqL*$d~ZFp_maK+y@*^y z^58)qeE14UUMg%aN^C2@W+Rkfw$?oGF^LsbT@; zC-^rC8xx%hkMY|&CsEG_JkMHQ7J0{=Rr1_$9#I*O%58UcNZkw6_`(fJhEzBAcp9N+ z=g(VZXS{p+{(XpHI39e(pk2elkVR&cmW+Bs9(OXQi zrzSh)zHIJRHs1hi<&99JoL7&0cf?b(CF)15SLEvgiLLpEb=+is1rF)t3he<3dtt16 zMgpJxTZH-fw&YPej3+)1<$4Z6ckPhd4zoIQTZUM}N)skqG4IILlN1#$*3c#IGN`9J z?`_>JTh<|Wpvx!~!NvVQzlUKt|KIkrDKpVu6LvJ6h+KDKT24_;Lwj5ZChxonlidS2 zCkF6Ma6m(6WPbv6J9*T=U-7L70z;3@Ay-QRVhzL~t4A=^`^9t131Ov+-bfFWua8$d zCw5y2wu=X_BMW%x1W-W%JB-t-1=1)Fv_1id3wg^6+1Lccfh!=4t3?V}UBu#w0p~Zv zD}W6DIsx$N;`f5uTLiT3G`g#s6jETw?<9QI%+HJyWeysk-c5oIAPoqjt}h)D6u=zeU&9mj`0yA2P_uvvsi07HfO;1o_BskUp*P=rZD3nAm|LpUUP&Mqqy&o{4kVL00Gu-WF_+3e3;cWYQN)CNE@QrYjPkGq;(OI zGG+iQSHDldT#VbmN4P!lkN^b?uGmhpS}R=NMtqs1!5YLFz(1DVP?x>w!B8k*zx6{Z zdoUF9(_LneQ38v?e;Dh%t}L&oaKF&I9kLX)4oqeT#;=b!&^=#XUEn(`7i<%qAo_^d z9+SJk`yX%{vA_Yyci01MFJ@NTeL_AeKrc5!R2lB+@C>e_fPYvi<4_(^t$!$^TZECI ze<}DN(3X7@dd%|yIDz>ab%IUl^O|rNp-rTk0gs;+z`qn~{58N|=iSRsKBg!z>BdpF zGqwvrWVmX_Lc;LX7NVt4sh31yVD;^13}R7ewYW_&Ytc(~KeKvET6~W~3fcH&IB7+*Y!|#ajIl7eFgg^!+q>#tYiYsgqo|Ue&;O`%CQrJNh zK}f7Y5EwlK#62t)1TwMb_`R+ii2K}+(Lsq*_G5uZJi0MEhulHXB#tDlEI+G&J$vra zyyF3dPB;IYcXYHOa@K!PzR}|?2|RufKdAc>K1DnhgWb_VgC~g)f1G?m`-`?g1e(5~ zlH?uhAH&}7#lY9m{X+9C$RN`IbSsVgxU4zK>A9SYZXv}F_(XesycE(f775}l3b5kr z@Z|PYcU}D0TfPYbxkm_Th9~^WMspLf+TPWPh!J{08kmAl%20O82DWag1)$MI4$vvX z^alDuO--tG>t;*pD9F$qIIh9|z;fNILz1Nc%w7g~EJ$>-X3b(S=q?=~ziS7(z_o@{<_97Sc8#8p<8+%L5VcPTwN%1y_KnRL|x`)rJU3D=sfXVEKVH!StM@k?L(ZV5(4}&(;+736I{TDtbqM;1gRvr{SataSrUoO?($IKKT16@HQT}cxu zfaU7*nIV;_o8zY|Zn=8XRFSfB?-~zOez-PGC>`*xp&Te5W z=82RMvb{^VGN}RtS@pRYQgng@sX`UwKEMc;e}9^zI+0c>M;;9s0)0k+G!TRn&fWcV zd4ichEGQNQ4OMmo4-n678YNxQIPa)~G?KiT0a3gpF%#n5C8Yuj6mLd?ME-$^*uv$i z6&Wi{ifr9+IY4aPyQ2{~7U^%~8a~fN4+t4iz%q+BIXq(OU+tQb2MDydNi9;ifU6d@ z{qGtYN87XpaMGE$eEJWN{eNkX&45MKgqk0BLIPpIFNSF$GAbUe; z_7JAvV7ThBEWPf;HvIy_*bqe&vq2C4YSjiIpeC@G0qZbCoH=$Gd+!kzB8ncOppp5_ z5I5nJu0&|#V}MoAXrjX6KTPc~U_QQB~X%hP?+3Rh5C- z14psIxL|M`{l6rt_xcD9fGFk`Nd^&Kfi3_M@515_`g>;y-a*@?ff`5a+;A*@CvVJA z*pi1Fk+S$RB_g2okR*E{5@pd0S9=bP;UR#wfPFECEAEYuf%y%pk^t#|)Ig>H)GU|e^oS3~6P=j;fULyF-^GgM zyXUV0pi5S52J*yULTnBa65_6+;@z?*c?s+RH6-u;F z;mGixj5csg};78RC%CCTtlgZ zReo*!t}H$iNY7b8UsyBhNL~VH)2(LewP(C&A~K?a(P&B_ zAR??_=lD)+Wp$OdP|XpC2QKUlECIrhiLJ(j8A5*EdY9|crn?3pUhDw#8J^xpcoHYMt<;IDnCLi5)|MK zJNBb{j!}rK23CbV_je2g_NUwk1!YD)!0B;(G%>kTXb*PZ?5=4yP4}wNG@3)|< zK7OYs3K$XC&CE`F4HFd5Kyqe*`^W z#wRIei^bG2(@`MZ=MY$p8m03_#)l)?Fru9G)6BUJEf(MJ^vXLZ`FxZj>@eTOFfcpaj zP{Kw;{-Xa=6Cv#>W)PsEtcjDw*H;!siy(*Y-AF&U8Bx5>{u!Z5k2}`Xb{{VIud^kI=J2Z2j+@=V{|M` zdwUVGj9#;V0l|o)Sb&+P2p|2e_^`RV+1plu>L)l%gTi8g2}!#>^i6d{KUJ0KFGHr0+Wd$l6E8h9Ln=yE5pSE?THn921}-r4xQ4gb46SU7orlBnU0| z3fy4_|1HJu8_7QmasN7a0p>9jDX8`1hD94_3#ZQ+wG}_OcVhuVztdVl4Wd6R+MfV2 z=m^~!Sprh1jhN+C_1pCuJb;98vx1@!meQ|**8@&;2J+OM*@G`Q2Yc3$oI@BGC5}%@ zK#`EujKu>lG-qk9fzN|1&y@PnDm3RV4#f#H3pJ0-4lg!`b&fnSpUsZV-=o(Z>U|TC z2T{(S08@t_v05VzUgGzz9G)?bWIhuxtV(OI*aHx{SfN<(^UGqk*QCJ?E9{A2SoqU} z(+}#{444tNKXDc2SfGG7Sk&O}Tp(!f5S&EO zErB*9?Tq0v79xibAV6s%Or#m3QCQoDFf>sh|AV$8-`5MzS95qRZZ%{u$ceLwt5zjo~G(GM6 zTXn@T1b(3aFVVkPtrEfvoZO^LauaDbO^KQIW4VKmt7$z3R~73tU^i1461eAR;9$r= z$^37wXG;D5hHuQ*Nlrr&ztd$j1b@XVVYZMG$N3P8Qe+>$0;VbfSHFD%54BS zMF0T7vpe>IIBf_ND8W!tp~K~RCvvk>EJJTc4GO=0GxYl=Kmy6X$uLxq@O>@;B{RqqQ8GmQLlSfu zi2n@(eg%w=V+7+NEARq~FaB{k5SV}eKDmPZ3rHEZ8Vr@i` zol9#>!kr$m|J8{P^@6R1@!oUrlQ@u~xiBI7)&cs~b8y2k+hgBvK$vD&K|#exImLQa zz#;~dIa7xU8v9?d3o0EJA(MjGUmhk;DY`>c-+gTup!}V<518TFstmp@EtWck_P+LlHbz)>CHV@j;(UyE3x0Ep+ zg=~6m2lC|b#`+3?I}^WpBx8n$0D#qD?e;*lPUK#m%(#JZ1AUxhu%9M${GW$*tM0 zVJ0oCB{|u4CMOQ};|$}>-Qv&U3yrCo%D=VBYrkQTHD%`H$K;t9N4||_SLu&mqI=a$ zw%LBXUTw;#kt=_`nMi^UtFTf3=rK`VWqPqtKaB5rsGt01ZUxlb(QIb@w%9G_K>=C8 zPP|*8ghP4rnuHn+f1Qw^F?~XsO<8>PgMrlX^~bSmXgQ{r=nR0A)ZX<1(w*ppHEIO4 z!8qE)cA-tfEAWZw8-U+?KPh z&pbuB6t>I)DmFOz@32{hkH_f=4)L1#2kW)v*$m-ed?Wf_qc2cwd57g3vxcXCZ?VU~8|va0F8{O;@!-M?5zrAmw!xsvwecE1idcuh;hmT;;8;bz|)h)8}^9L!E{jU9NIb!No;hb^0tj=Z#PMNL!T1$p_qy z7G|IR&ER2Njf)0kc`#jSDT}e?F5jtDRv2WJrc#O?DxR{k7*3t}2Nd@uJz6XX7%*GtpS0t#)$L7L}YTLir)G#+?gKHy7`w^+X!eo-hGoe9 z)vZ2;kh-nr8*7=_SPe!ap}@K?&M4Av@ql2m%4ug0)IJv`&=dLSJm7L5|H%YBNRtHu z55nJ;vw&Z;dyCz9{ZF{SFfjT%=&LR8f?;gal@PR0O*DKwN}WXqbwg2ix$#wnfqA?= zGrde#&5zMjnMC`@G^sJ?5umxs$F_O~W!E3x*C#ur0+3B-4+G|_L{B-r;tSTPrJ@EW z*$HL{x((wCtEnhjpT?JWlnRtovXr7jxs~zq_Mz5}$D)Dv=HZ+W^w0tB;HsqsS8#SH zUba@IZr}Q)?YM|ueEH1`V3B$FG!}Gvvdd>G`1Uf9u&iz#3n8bQjgH%lmZUrPl0ouQ z`ZbO1hE=}lzXx*n|GF1U(T^1`@$ePbGCENIV^~{V9Y}rM%?KfK&8$-dA782j<`Vv6JHdSj(+aruT{M8!CFN8lO_Tl}6dts~gwx4U(w{QdeFojk--Wyhv?zj4Ez?xO?i71v9t8WaMGy3igK4G4(fvy|$Yn@(BZ&$kqNiS)< z7N>4kOXcXEmi3jj%%YRcS&infr}A|^9loSIMeoLGUs%T7gQBO&OV?ESa=Nu1^R`-N zll}ZR2Ju1|kWK@e-b9j&)6%>nti2Ns^oS66$#7b(ik4@LIL3pdAisUcgSdW$-TcAc zRs@*6vCZB*Rt$_!3>XC5UIB%HG7_T9fQCq8ai%mS7b2`Fz18_3Ju8`7Cc$wg!|f_Y zhYwe<^_}2a!%20=k-kHyrK~rOEN_=Ae(UvDi_8y)elQKbaWb*m|zVux{xoz{Y$ zvxKgeV{Nj>RT?!1=PCUxO} zE8?~=86J0eBBis|J`kDUEKJxbqC|l}U<>p#K+yh?0UmzjpYG08xu1bZPc{#8%zGikB&%{*pJo{cJRfxb1Z2> z01mY2=If>o3-hTY-SXHRMdQuf9ygBRZ+{0SxS4%1^#claS~ru1TzD<+>(zS?-5nP) z!uY*|g!RR-MI%6GiQEdCyJcO5@^MT>xdk@l1U{Wh&W*aH6eyU7F|$A?)meG}3M$>1 zZ;lCSn=SHDyM@{IY2Jd)We^3_7E&jxo6oniV)inYJ(7rItz(iKHae-MOHX6;g;ANNIFHsakv(8Tdcx~*GaR3r$O@V-G(k~#?ta3ZqjFYo~38$mE%Nr(e%mS zamSzI4G;XLo7-!e=wBXZPKC%z7@W6Eg?xMH-nVi>=MXxo{?#q@DvC;UE?I@?(!Mxe zh0R>P!au6aPs8i#>AJVqIBHyghLIB)8KBgHd#)h$o!2OHFzA z3+dRV+*1DjxJu77`Gg*66{Ba3{;25K(lmaR%x$wr?Nc)kb{rPr|GG64yCW69`Gdx^ zcN4Z#3u*-w7-nq(q)B*}>9?KHJ9@RlzVoB~xUDWgZSHf~Zan{w; zuiTSqSyTG?s*1OT2fj{!^OW7d6_^QSYkp+ImNSbLec2sEv`dQaMva#2LqUwA!qd5G z-5I$mncL%?hz!F^+NVwGH#>FnFCa4GoAsiHV=JjN*R}Aww99VqWUH|X@#P6C`zyA1 ziGRg$_ySMn0rC-hiOlHMxvyB3!Q1$T#%&~(^o2=Ux6G98Z82|_+Gm`9{ib!HIJ-Ko zL;BTB`|GwV-MU3oaSNKCeusJ8I10q{yyTn-U&c-1F$Fnl zdlwR<#Kb<(_MD8v`D^sI->f9_`P*+6r@M>$>+ktpEu2%C?ri|&Hts9?%XZs-*{;@c z#(0}h%(47>EPjNqRw~B;v|@lMeHJpW)SkfB+hKIco$Dd=ifCvy+_28eFy*TWzhu2N zET5~9$#f8!vdns)BP6fo1$VLDc5}`S1*L;^m!)M(&pvW4u;#i>wXPle(SGD3oo=1~Cl%Oq@F|n``^uWsS{86-Ly9 znI@1Ij({nn;>D&FMz$|%64VTONhEfs9sa7%Vb81i36sPVROL=eO&a4|uaVrcZ?tO8 zRDpDE@B$i6vEseCw8|I7nV=aORu+#pcTtV2s616}gL!lCDxMoJiON-eHcFYE3I^33 zB^Djh%5@WiMywLe^YXs7Ot_*Meped4yGl3ujmyTDqu`8tF8jZVU(2*vSCbZohia-&4O(De-k_G8 z%&3=W$L}XM(D4-X?ILf8$=jiKbf4Y?*ExX3^I{y& zjDc5*C|99)m)n)W0(T^%G+@NQXx-RRrH}2jVQP)Yn(2#+_lP#_MG^{92$+}?2={}=mP+ONvA1jCLIhHDM9qG5Lw9BeVxs!^V42%Kz^&8h{ z)~SCrT(2iz9Qdkx}esv7xsDmqO~>L$N=-h#a{S?5iCXk_SD!<&x;^ zT9DS3o9A6#hL0EXPVN&TE`V@ju*f%_Q0<(y2XHEv^I*e~IMhUM%~;Oau)mv`j1OJO zfaH*YVo{wi%lcM$FnYc6M1u$-D}nou831uq$Zjw7@fuoo)jb}%*w@*uHHZ=q9}mNq zFtL55D8j1L@UqH_!Yq3rS@}GlKBqr6;@{ej8BK~m&P2g7=u8KlMo-RW&S~Y`@NBo;R~3(qyXQt|mIJBHlUciJ62q&W zxWlMLbXbjWw~}jkEyhz)*%%q=`JO~1taF>Y&1HQ8HCH#qE#__H$P{s=b{k#>8`ypF zKxLef?s7sJDC-wvUMMOgqMk4pnh!P>4Xfh&HySRlxy4nP9#dZa+WbkFcDq@!bW>P- zZq$A>ZYnd}zWfEWm&|=sY8~dbn_9HSwSPyP4Pi_ZS23UI3V>9eQVL##=$EO}!y%L}YEGq2gE=*p0tH1dgm=xd0cYf3+7IZXjiCE?7{E@> z_pf3!Gm+Wpc45MAey3Kdt<-cH^1F}4gsLW7qp0vHZqD!a5DT}h&wNS?3<0(gUoFvF zI)75r*HQhu5uC{%eg;J>z6B>eI!M#Tj9kv4WOJ)?k=h5JQV7TP{K~LqM5fb5T)#6} zmR0!(3|48|a$awM!7e|MaG`B8r9tjbLBAeFe%`?ij($C4wY2_R7(18mphMvv+d+{+ zYd27K7cXG6v+4Byc{ZE@CMKG}8m3jly1sE(5v^aYH}`fpZXL?<$d>P5eXG4>p-{X`S!_(>z5`E#bWt}bNw$QR7UCZF^d^qD zE^%eAgxx&t;WoU8G~8pape5RnP_?}$hoSskt!b^GULQRl_jC4)Fcj13;NtW}urgq3|&|T{nIuLo>&QP-&uG!g%R?A^FP&0d@Z*7iRb);}$3ZjM4 zmu~zfhg$scujS_v&ii(Krw!DfSQ${S6{H=^&C%CCC4Uh!1&pbv126mTQYN3-Qvdy` zF^09S!DjvZtj6iEx&Y_K3aDd7^C}zNdUk7>HVDsCjm}=LlkCv?e3pCsbARJaovBEf zmG2wh(8&>YOY1vz9EFV9aPh3aI64hVZ?U~)O0H^!n9FDz59zWUMcFokzbjmqgS4TH zgGYO5<@s8Fi?|{1Hv6DJKHLo-*Xrm4bOA=!_Bzq@%XT&Kzw6H&6x_j%Y8&)xzb8F4 z+s$JoZrCzV=<1>}UkX<$AM~b^Y8O3j>?5_%ag*20)GgIqRwC-@5B~kRNI7Q)#|j{Q zVSkt03v`OqXkZFtPrAw!U0JX9U!dyS=V8%Q>2N%w-Gi-=YdNOLbbpkahVD;wN`;Md zZSf#~=4ZiT|cOZMWLn?m&QaU`&{mZ9UQTui~ zXOHeE4$vYog1&S8o08*5w%KH@^CvLZ{(Ue#Gr7N|gvWQ8uH||vr$KheEfMrx%y3gzzOz){ zoUH!eMFIl}uJc`AGh=mxc*-j-FK^HIO%V6VVuWPe21&MYd&5=6_)SPhvZS?qSUg1_ zr-3AcI7w6w0ZBs{;1sA3|4G22@=v^)CCtF)Zut-S!hK((fFG@%wBhPxM2C}6%r=tV z;j^v0CeGz;ke?_L5E{v^+XZj$VK^e&h3Cz?IT>|N&$;5{RP-+SdX-eTYVdx^MQc(* zbm8u3bXXiDM^jKe#Fuc^)EP(P^_V)RGlA**ezrIhxgRGzduTEfzu#9$F2$dBt@kP1HNZJWZC1LgiF7(Id)Va=1beZ|AZ z|8MTYT1m=bpi{ki|Fu^_<(~CMRc;Pzxa3ZDX6uCPPtoI>SMck@8Jo6lu51o%$uVl7 zYTBR|m96)<^>*O2T(}b>qLp)c4#iI#08#ds8fw>v%t)zboSeKiQ(ZT31#7{`oQ;@S<*IeUmL=ZeH|1=IoNCfV zZ))?HIqfM^M#6gLtOM!acC#^fUDoUfI*Rnf$PVPAo4GQGj zWU9s#>hxM_2c0a0Pp6f4XexH+NpHw;3@3N2m!|_u=aYeng~LggTx_b%yC=${%Z)lt z{Jnv!n$Rg@!O=@#%S=_+%7W(#rgmA&oL)gy@XSyOYD`512@n0w+L7Mi^sB^Al3%8I z9s(0Tv1vx^*uA*8Dkb}o`-?TV#&MSXgoT@j?NYlxYNK2n!iKmS2==5OF6q*9p~L%CUu_8yowSzYNI7q34ljVcVB5y}ADmPz~rb zS6sM|e&QcPLzcBEWC<6aTKY@cxXa5QtGWyN(}ump?66yoy+s)gR$RF)o;;FHgi_?a zGcOmlsD!Z_2kLY|1OFU_g78U^zcA4FV=*Dt;1GKH3*o~Y%KlYT`KLc(N8k8-hda3r zKOb1wSfBV+ZdvCNYwZ8XtyPy7{6tVcufQ)MqP5Db3p6D(>#tg9Z6t7-&WK1+Y#FW; zNgq@m>+w%YdJ-zr|L)b-l%~F?Ddp=oQ!@wEdoAoYO?Ugli&?8L=It})yOw`x^t>1B z6y(Sv4_usd*JAcuOhYccI#n#YI5ZW=3MH7-^zUzFu1+k!Xs`5f$+tI(U2EO(#VfRB z$LkW^VZJ36%SU9KiTzE?n>RJJw$xm9)i5~0Cc=-Wo(y5dyw8g8PB1qJO& zMr!V5KlO+Ec1e`^$a}jaqErzty~@@AS&2(W(}+Cg>9j|+924_ne>BzBaz~=5vsjMv z9`+jLd2@CX2U~XC%F$9hu0>u{s#Z*}-^}o-kdAvS;Y{~s87)+cMlBh;lVNmY=`6t8 z*=7@G3}vPCCY+l-MO>V|^x2S7g8Xfpz%GeNFJ|7viIMQ&<~QA(g$yOb`oNiHJUY(p z8?2YbAPDj6c6D-@k+iI55r(5(>bNhOyBkZT=PE>*?(gp(=DF!Ua2Qt*Oms0jmR;VD ze>8v7%^KQA#7`Q;E5DA&LxJS{tkQlz~5bsKb1mV9qxieI9`H5L`#4!Uz$ z))^jF^&wZ>X9zPvr>rgE=7x7nL36#buhtDaJ-~fW-S?c!*)t0~KZgV#y2`g$7piI54mk zD7!hw^@ILTyBX}a-OMvTVJZowFQyh05Bn#VB9ZZEmn}XWoR|Zhr^mNN-DrwXo9Bef zH~E4@-MR9V=IYv7Fn5HCK=T?bWfQ`U*>PcwVN@m!g{GLE|4GLFe5}V?vo5%OVttEXFhztW+=6`5Ar{z$9 zDAC3_v2EM7ZQHi(NCH^(+Tb<;K z!v)PwB+Z1S?90kP<#3m1&FQJ7=9;qUk_a`)3K|R$5^`67xF-6r`7PZ8getsr$!dkC ztn;mT-r_>RF7F|8NUZeu-o$$r2wHXDO}G=*iD}JH3yx=CW?6d;U`ou|0=ZNdKM(p?; ze%k9N$K&%NH2V})19=i6vRyB+!+heaGrd~w=dy6X-xaag{;LtOHMhRMS$}+mTF;H1 z7P~Mn%*Z8_*a9lC#a5Io>1PEhV%|&H^yb-Yb!iN$=|M$#+$`rf~4qlU~6<|Kfg`f1mBjr zJl1D;Q(QzrK_cX``y3K~Jcs>sY<9fgSR9&~n_b(YoRU6He6vfelZ#Le`>yL#I$R44 z&ytFGP$SIba%K~O^x` z12c<%NO(9;S)=5BD?ltg#Q#w2n!d#yB;21YYAym|WF|=l$wfcA7cabsVKuWZS{=Ut zPuL$qEO*XOQo|_pMryK=^(G$u?(tuDg8n}IIsT)A=-%QmDNQ^tXcYK}%lv`;!SV6gMWAyV6Fxab4f0d^ zr|s)z^1DYyS>rm@sl~KgZ+zQ&N7w%a?u? zfN1$(A-~sr2Wz3`TJAIsX@d%t#QA#T@cL_=E8E*kEPO7XKH2ZiK2vREQOmnb`HGRq zM&NmTz|3zk+&IfDQ|+)-UKV3$Iguw`YCOyE@! z77>TWC_78uH@Tj8*JczttqRU*Q>HxTRJ`X6z9`LrnMYW6t6%5hIK**H`{&GVW2ZVo z!k78zE0AeTNsecjI=+XOr?&cLlxL1<`M2GCwrxbV7VOAz2YnCl`xrqoTF_@QO8Ageb+qyVM_H9Uv(0` z{iqz5*X)q_~qZ73c4q1;DUw!3n zX!F!Aq1LF7+G=nfc*HTaP3FWIwP}Yuqv&Y63kO0TeAyJ=qtMI{`8S`5i&_ zn{JNJg$vq1{)?P<|2=_GD073{Jk!H=-5>Y7;DO{&{#KT*&sbJr4I69h%&~G@x*cugM2eb#k1 z6w|iaL{sFO7H51)LGHGfT~=LPp-lsQQ`JiCagvXF-87sYtLkTHQ1}uRbfPCN(v{8u ziAmFttNr+G)G`JAoVv zNiL;R-QWj(I2H08>XrJv5lOx!N=ZCw)4doaMc66FY_ohByHGNv0+%e0)wk28X zD*ym5$ptNeGd+=HtAdrJ{*FW*w%c2xW~M849{Ls3^OvK$Ha zx!Jn>Bs#_pF<0hmo)2>qDc($)S-rUN)Huooz^wCZz@EF6C?QXv;qW51Ne;%OKOTNW zmgp^HBBIb%dF*wYN{j#PI5~H=c~7}wmvT#KblGF&Y8uk5p6AI8&UrSH8QFr#r=#(~ zO=oehX_Du2?;l+^6-w0-*?X5vfZ*c&6&XRaFd&&}x^Sdzb2t`4x{}lJ4=qrh(5dPU4ks$}_5OhVZycS*$EPWR$!9tiI%)b-U(h ziOo64;5=O&e@*4Pl_$!MV%AX$(Jr!octUh(Re4BWUw*M%S5Iz*Q*z|sm9P%iLVCZ6DZA_-4|icLj_M?43;1OZfFOdu>g5Z{oW(G>YN_lh8pAD*B4 z2TXT{7QfhOy6a~9X7l4?yK;j`=l5*seBD&1izG~q!J~i(Ebel#feWy}AI<;${tO4w zLk-YGJ*6J7>BC$c-UwXQ-R?`p7tAH=8^Sv{MudkKA8g%c_!|ol=>{OWG6{KrcN(2y zVrq(6vkn?5n`tKnh|f9KkB$~U75&YNrtHZ^}JYt!T} zu)S7i&HU+>dh&N~cgWcnk5csK@16+}>j!#6qvcZK6^DSdZ2iWv>SP^LWxan+z{s=C zLAKaS1rAY#o@E*n#7HEx)Cte>0_QScyb`?fnK{;Vdv()&eBkRH70|sNxO%2+$z{%w z>d)xAW80`r?nPFH9i{?*3i9n!L--%k{Vx-myS@Md5H|1I{REQjAso5b;aBhuP{hwp zog#*2cfndWegF1A>PYWG22KLsL3kit9soQ+;?`FQqe&s{ug@3y*FfczFd-vIq!viy|EoVH}z`sz0i?$9*Li#EvPVgIT4=zg``kd2h(D{<5X1;4{f z`g0fWiWzYX-|JnW&#?PnbKp*a8y=VqM4;)u1^y`Xqy^M#HfSTe{SNf0v;LluKpIDG zQ4nB;h%&H;r#vt0y_kS5)Mm|s{9@Oi*OtH=QcitM&R8g90Nwz2g!$0Uz67qfYw*3X zNl4DzQ9N%TfjFebL>;W!R6zp&B{;^QKe4#GkU)=r{=wBL>d0e*gaZNg;cp z}e?aig2HcH*A7gXo zMkN?`&UXB$dPiD7U?e!Egfhd&}0ACTIeDpnire9n? zoG~m)3GjZ#J8*%F#z0!qzv#NT0u+|qKXXcP=lJhn*sTQ@h##~f+e`) zLNDd#OCd9UFnK&2NF8HxCUFQ;;&94$kYhm)=^JgIwmD0()pf{Y`mGNXLJ37-pv&U{ zTPiv0%nKy!tl*8)h*085>y>gRH<^{5kBXmt=dA}BaX1WMob(j}Y-kcjADl=Cufdre z!j%m9nfa#LDS72NmO9L|P{hdn92vvm{KJu?#hTz^)P@-*F)I8-H`HF$3)9uaQwK*6 z3PuT1o_jU2@iot=M1p6GS7JieidxkBm>?a?LbnXZp(-sf=WK8BJarz|ms!-G8nb(s z{N(1|@42i7q3j(T$HbFfbaaCt+=m!7h91hst1`#7C{;hitmI%p?LrHPlZ#+w<=5zk{AH+^%IhAQ4)$o6=Idp zgRu=_NzMS{?A2|E46%qaPMM{LCLPQ`JZf_($sSTY z6J$0re_WAgF;*o!9z&Ls8966FUGQjVt{iB*n8CZ;yb$0Few8OAJO*x=H0mf5T;p)i zrbz$`G;h=vbblv=5H_8gIz~l=oLQeMC|4y{-JK2O3h+f`SD(~cgxDS29gGOOO&M8F zdvzF+vN-?sryq<}w0+kXb&SZR=?h5bWQ$QAM+E%S0jzLLL&0NEPY4$Q1L`ICB$y6_ zA)nk$Qyh68q>Porg|KArkU2P07r#X3&>4H5ctv2UgnZYnCI|%I)v-N26Ea>2!ZDnr zr2J4hB6D0&dX^>DQ7{Pqh@hn3I2`#AsPKMPEVi0t!37`~ll_kR;Y(N(C7?N1Qb7tB zkNh9P*%aZ3MY!XIG|-mN=Pl-JU=K76X9upYI~$>WCPCG%erHdG-rpv+Ik*}T5T;#B z!9k&V+d=+*!#rBv)u>&Zzsj$}_41`ir+9~m@OMrD9DvL>qMvQOt5bDry>rhVB$eH6;&=)=Rne!=cO1`F zV7GPVKTS5Ol6^bIw>V|VH zBv9dtiKgG%J=lxy&rNO)8~F1YHQVo^*$?-kAYP|z?` zywZ6M5nV&H3P4e7w}(AI8IE08wU>q&ST_WzH3LX&FmiH*|Ld4a1a_j6dEDo#6I=KY z&OkvtWwV}UjX>`oBYNCd3BP08pSEO{wHQHdj~oXZIW|C9?JJoxymnhPn{;Gogp zFbwRiO!Jj@>0X93^=>SvrhK z#)Apa1Wtqn@Icstg(w>4eZgM}UK;o#mUYTdw;iz`5sl;@Xz!BvJ3Vimf2OjqRdQG1 z!A}Q7`Co`H8sTpUV|@(i{)8p{NDuIn^`Zgq^_uGw)K2EI-m9lhJ-E-r4E4K%eX2!; zv8+u`j%l_7;|?PIuvYwJ`jo|9U3jJOX|B~+TjR84qjJ3alZ`-p_Dbu27t($b^?vR= z<+%1GGPyj+eN6x8{P1ZXx@DR(gCsDs%`%D)V+_kM6`an#5l=Pw7eSk1+vXEO3vk%DiF&HXVn1K1gX*H)%HUxlauGP!{dPV1xlSO(9N{hWsN*ul2p;5 zxluT^RL00VOLnKpX(9k8l+q0lm)Cn!GDAik3s2TwsluE{i3LXDY7DTZdMGd;!^jgv zRw5+9u+WgL4?|8sG!S8U%8GKO=+o^!AOHi`TGK-b79JEf40e2ggS8sH8R-7)A8j+d zGmiu$tH|XCT661#><1F(KshP5J6hiUcE_N~kMM&Z))s?0)*Fjd2~;sKsjUBw;++#Nw}gj^#czjbII2+ed8Boc9*hq$pjnqo_CPVNbU@B3t3395|Pcs?h6q{&qcicpBwS zjxO{}`m?Z+o7<*H9diUyrqV>z$49jBDT&+FNVRm6I;q~BO?t$FdgPJ4-0q;bWG#YL zm8{1lt2nyM(Ep+6aVyR|-X}NBDR_)6Y5!q1=IEP8LlGgGb*Zg+sXHx5yi@jwcol9q zElZ?dexwbd#q&D4FjSmG<+MnKyD0I{3dG@jVM;-J?N-~_)8qAFIkw%^78)V4n;k2nO1aJrPp#xDB;Tg>EFs2h$AqEAR1p?r@JGlC zc|}FB(Jus-P~s;Y!J`> zP5;&VgKi5;!7by%z~DfNbRld5V9_2LIB&MUf%W(I`z`@w--5@7(UaxZkUue|ItUP> ze8EA*L)OJVnx}zepB;2cDukjF^TP(SWDxBIEws}xD; z$<&CY@lL$1vpktRyLRjhxxS2Bg{>2Oc*5SHGbR6(>VB^4+{}8$B+GPHBiIdAP0eBW zx|`co>4Jz_p0)^*{^(>&z!`oSCIy?7w=$BE)^$Z^$?4R3^TnCxe;ln6^5)G-h0bF5aVvsg}%9n9Sk! zuA_PnGRDD@rEk&5HKq(#Lhm3gL6OGAy8i8buyiJ!v`M6wnR2=A6a7LAB_2%#>KB9b8a}{ zqZzi8vubYq(AU#JosYG18Yq<2orRrfmfr?}aWW3+osre34c-Xwq;Ud>zRe%O;d4o_ zNHb8iO{n0TxC7E8u7s{RyLCTt((R-Vb`_Drv;<6E*&5*Di=7XW9(HWrUUJXAoU*nv zF|Lp0U=%`VjYH08ndaDNnSb9GIXo`OB zu--uL&M4_O z&+E(BAE20}@u0ip~KK&K((E<^ih%^oS)+8@b~<$o^>83)!X5uUMtb;M;8b!uI6F2pLfqfg^G8TxcO;@wbFcx*dv$Es z3d$H@^N@_0{n*Rj?w=o+f!UvD*b0Le(r#-rXi+Yz#c{cy6J7m{sunu$9#i`|o(mqqZO}7RhBW9L86pir&?#|fP=Y+oY zxR(Mv8P-lEN?Vs%FKrLWue4S*u$MbT!P={hq_QAAWF?5V7s0I8fk#6_l~&Hcmf1y5 zP15AdyJWA{^s@_s{6YTG%%_B-+OLsn;T5_T&8)||W3(Z5aF#vSK#+{qSr-$fC+|$p z`zs)nb#-tht@u`AnCrkhAEuT#T8xzz&vT-q$64^NK%y)y*vdN0Enmk0t}oXk7fP|| z5RSx3?s)fzuiUHlWJfTv@(w8YW|YWL(^M1zFj-{F=yb4RpcazbC#m1)UwBMXI;Ofl z_N2fB{Y^+EzrsQ+XwbtAAxxC`+k6;HR|hFU72kq~4F&7%YWuq`hWiuYf+O=2qp#>F zBxHa#0gm_u7qt-u8Hd$+xCwNaqi^!1S)*hF9(BkRg}NyS@ayEt*h;w8&q|$jT`GVy zRscR@xCWg7gOEDjvQD5O<u?j}i;FCSPZtYm5DlX3hDA08$*FoZZA)Eq?IP=ohrG_zS`5NT!QhyK z)55K5=ct;S*%(yo#vjDsRV7p>%uluX8GoT(wKIn~Ugy0Ih4Y*bU?^Boy%m=WUV9ZI&2yT+F`cN$CF~G#?NCH|@PIC3m1{xsU__Kk95y*r-9{%RcajEG zt$HAyQqPu1Jn4UEAm%pkI_E`k7wh@B9$;bnBm>xS2RFLTr8;4Rjz?5XebruNus%6HqAxm<6o6{RawvR)irTWAC?Te`;r0rd3>*kf53LL z6R=auSP1|;sG1n6g77&U-*8VK|Ml_t#V2%A0P3sa69Ww=as8O2v$aEi`)QdRT>DnW zC8wGeUfX@mz1?<)j4)i=Q+QD)t7VWlUf@$oxB#g80Dq6OHFs-?hjYOU<#IgO%^IL} zPw4fqE#q-7>9@^*IP+pS*jSn?vU+a1U#ZI_G_pJ%y|BI*%rx=|>$Q#MS83xQ3tfNS1SG%&vb^$dk#|@u4gFRH{FG9ix+(@Q7CVNi%a!g2(cg72Uly zLc%@K6neWTYFnPY;e@@T&k<~Xj^}`NPfuaZ`}naA{#SSGyH{50yM=;rQIPbxr@30& zoY~#P5DKL|d-9rE!7F!?DX@jW*qoh_*X9i|(CEKyqAwi%gW&lykMs@OwU(UEmdkJN zObY50?loN$#6?CO$~ zQSb5bChu_MvUl_B)~Olc$usL78+R<4zt{VBDV)sIBos^x(Z@4iGel`;ZhS~Fsz^Ni z52(-ktp`1~RI*39Eq-fQ(a`HPYSwDJn8jHrME>p-+g)h;&Og*%2P*bqnoo90*KxK+eQB!td=|# zMoNP-k9PK(@0Li6%o3v`5mTLm4Qg|Nhd`O{Q8`uzpD=TlcGH&1zKlWiUmzRw7OM)* zo*n>;z_WH|oetTj*~to>lWepUL=-FO8e61eb)@me>HFU1sdvtai;4=l4EJsJavn4k z0(2K+&`XB$sk)?(VFZFc*er&!x^{{I*0XC}?Zsi1_z*(b487HEj%Q}7n_^9Up+@w$ z3sgK+w#QbXiPkdk|lV-nXo`bu)(pfBOnCA>18ZShvP@ z>7uW`bb-D+rxLsNESQ$!v*maeIyoL4L|xUa9Nhk|-C5mfcmfV>3LpOOWZ-<6H@oLe zhXmX((#-AqIvqYo8R3J_caHkJNct;#EZ6vove1f(8{YOQUi1RL3SLZ)KHy`&Y+H% z+NI)AprwtZoDmMn&`c~xm>L7|RJE>3-M*y!^+kfo1`?$v{-QZ}Jh&)d`+Uz;c}Rtj zd%X$VrD33WYT{sr`uG}v+!O%iK;$Wa+U5S$f3j=+!Gc&5dsl)#6@W;}p>FV?dc)js z-MR-d@t%b&5g{cLooo{2yXM-fZu_ql2zW~)#v-;1nRr_>F7$hnEb{hYrSY_tID+TzRBwz8>7OiNavEjL+F#GrJ6Q&nrlz~) zPk&~b(OvRh;>p*HHNW}v5-Wr?ajt0Bm`#4q-!~aX(i*1E2$O7_W!l&oH(5v)k6_EP zB1Vd=b>*SV@K$v~c$&}<>$vsZYWO*H@`#SQf=AD+{gzIgD#tRNtlT_qzsNpo^Fxx& zu5gvA&l=ncAr&K`VMy~tx;4;flK<)gieDarCOx*`==*-Lnv6L*{#B#Vk(S=k z1<2z+h#+BBS0xtwL)E8FjY?LNTmM$lL~L{AI&(Ug3^O6a)52c9E*qh8t^aLMAz&@C z-ho^3TuAJJs<(`a;kPp1#_^~CDr-~`1zDwEVLgPAPF1h~UmiT2K;x!17)OUe9V|9s z8ni(dm!5QOuFPnQXwNK9vk=M4y&&us^Wxn(%E@N1Z8!}c(hn{79(^-;G-GO<#^u&i zcqucI5H^0&pKP=_rDSK#w!~MrEDMcf;--K(cAVkk{m#!4qo6V&KPyqhYkE^bBnL8E zVQd#%FroAZTW9M-u_1mT2HCVvtBz-YSMC;5k2^5BrD9LBbEnFvSdtR1oByeeU5R_v z_;P3&3X^Lbt^>4Y)!rd%T;T?UtFJ-OG=^mcz2PGo=PHrWi`sjW*K6dqw|kN}C5us- z-7A%t@fAk5R6#vnoGsVI`{h`s5HuDumd&nm6rOVgBmY);(Y$t3KlEn1n?Rv@r`u=X zTRsJ|!A)eZ+RQ{lQRN(09r&#EY68+!&4TPM3$ysTyS#6IJX_9?7rGP3br)rl+5;=4 zk*#PodgH7ZY|S@5d72VQ-r}WasC8(M1^EE=^~*NkvmR0^%mlbYd3aA>1v~j(5w<1u zi!RK>?ec0lc|Gf8cm4Uge_}=r`@DW!N^8xsjM-{Sd03TWnRC8*`24kLz6Tk7L^w{F{}oCC>C_{yYR zvxUBU%?EB|U;HrF*X8f}c`DudLqXWrcdeOX;LJ8N+J!@-(p7GIv1gmsXa+HB z8UdDEjb@sBjyN1u5H9dAYf?!V7o+M8p-bhPdOWi-ece))js0=aYLnZ{DOc)_2kT3B z!bjuHUU(X$Dhzp0b%F#@DOY7Ae07q9T0?zR?f99>Kw+EN+}C1Q^%pC6Rdf*!F7LtI zcKIdCscV-{U(!DyqWT0xHw2M=+KA<@INYa+R@b#CuLCnx=PYT@4c6-t#;TS)qP**x zk)|U9^oRtt;g%YrQSrB8+$DL4mXBgxYB&4wbtX&9~&Ph^+C z!muQ9VCaDoaL7jM(W0)3WJ4>^#v|68TUk7jSu!l*>n_&4%!c(Z)iK;D9J^^g`6PD4X7>XTT5Hr-yg@&Rp zyu*nw8`)m(ArlApK3Ir77!;jP|5(^E9)goh(laSgO4M46Cr-MC5o`}OCLfth)M+x` z+EkEn#63xc?&D_91Hml~ID1pCljZ?o(VEzFrTIB@jwcM8@{oRpUH zk2i;&Cl=jSV0rM2xNh&=uNDk7Jn$gej<9rZTmF=h&kuID3BxdaG(Q&8v1u!`ZQMIY zJ)lfDVTq#|k`NG$u`n2BG-b0sx}z^K9fg21EDjL2U(tsRyAUW3#&3#jLzVh&LggR) z(5OcQ89=s5exihaZ8ZA_CmEn%SC&dbP*TJ-sH2a4|JIQqz8*sSMOi_ZSK)ipsWMVY zYVXFg&tcdl44D*4ecXH#b`@-JC3fnjj>)XdRa(oUEQ#po4*c>jy`lYm<>2_eC>t?YrZe zE92N>Z<#fRe&_^be(B$9ra`{RsL`2w4{cQyE7ou-d5D|1sp%#@dMRxn3y923lmlMJ zsW!D$mZ(DAw6Um2p``qNc+VNEIpe$7`841wELtSJzOgbmpv*}x!AM?lRlus;{uWyI z?#4xWOY}C$XDEF67w@Wb>q3r_oLnzNN=Z3e?BXsEd~pv)E%WeHzYxxA=)@8-aan3g zZFkR_8E_S7^l^|_%k@+WI+W~cj~ER;nEL;T>m~RuFR`V#U*QfBcQY~s#-xxub*(!# z-ajNP-~!WN%yA9hL}A6COJJWM^SOGbm@V1|TD2}VsArixeBtKC>A62cSSWj3czS>HP1BjV z9>P*@x*K&{lQRY!9pBvapp2qm&})k?8;O|IpzZZ~dN__i{r z<%^a3TM$DyZd6*pw0o+|&S~NhYh2dLfuP$ni;X!%@?+*z;gzdJf11|P14YnJL$1CY zaSCTe3&}qK`N(6$2BHt<=rWL`WW-J-s+opcf3v-gd~!%9kZGK z7g>rC`_3!g?P`VXH?-wyZid#vaC69c^_7fM((}r@lADk;ilKT!amG7>mR!zBf4p5@ zf!nR)9`CeLXKX0FzgWd$?lUF@VeK+RW}bW$={4m!R(vE?o$|P4d`Q~6i&M+N5lih2wSsoBp!RXeE&0$qI z?jChF-=u^hWQNPFiC~x4A_3YW6UkL?DS3IIWWf^Yc8u}iqYD@?LI+Q0H9w0hBoS^E zyX=(iPS2v2(Rss%K8Dq5n6iC0OCTfRJ!c{&wbDA_Z7Yf4-~&g-*L^@aih9wb6F+yi zJ|}bWhT6W_h1qD(nANC405pN6qdhId-90R{wOZnmCGz>C)VWy^2?q*$)-~G&^ab`Y z7KsREB-C6<9sn!8Z>b_X=GjH>J7lF394yvihnCJFjYR%ojF0{FJvu_V12v2ROefUe zrq?Au9jwDRwXO)Ccf>ZMsw_{p!PQFk6m^(fXon6#Obhe#%SV$Yh$F2fV`n(N zRd#^5+R>4o;Ob_()%OC4)`8_gqLiDMvv`b@|cSC0(0E@VONB@W_8mu6zLsdrZ zq?RA6@gd60bzdX;4q80zDsIN&u48e%yzG6*LeS*wKxkL|h@`7A9vGMM!K2e$??8ONDOqmS%iYSVe)3?X(pNx0!fl_SBPYOrgup?IK{4KDA(knD?m=JRb z#^Kx_BOe&|Z*cK(deqP)HAQ7%Zx|6tRlu=+uHP@n>Hrb)^!qQ`Z>hQK89_O+*VK!F zRis7w8eS*U&YY-6*(VashNnb&!NOI!1Fo*fqO59NT*o$KPk{j;%ZWiqDhA6+e^fX( z%pDxC>B219S|60kiT7m=-gcL;~c_QwQvQKd_n zU3bi`HIH6Nr1^dNX$w0E1U7^h@)KB6R0o*uyTq7O+OMzKaEA4OLh9{Qle#x($Npux zn@eUm@@DHgFlW9zsxM!;5IMFtjg;Vaupt*{(nE(1*!fl4*)F+kjweOrGaxZ)uv@?d zAz-`?B)G<8qzeJDdMKKW$ogbg-0Nl-ec61okX>cNHMhV(*?P8H6<=-Ada{9y~W4mH%KUlI4paFUDUS5$0aO z$)?|6b$cH6j$O%T(U(yWG*@_KRpNbTb@RVJ(ayhf3tC|e^{gq6y0h^l<7=E;#(j-T zIG&$nlf~`>IPg|R$<)~Biz+eXeVRN6SX(-A0>4w7A|O|$M6V@ZBw+cDcb0Ov23|CZ z*j&yvA&fk=9R?7tAuX>`)14GJ1SwOU@`bKzic8X6JJurVZBta5plCK-<5>e-@YJd% z9G^}0k5vXBzol)a<70=UCpR)FYBZjbYJ-jtf*w1Y|C9~a_00;>8*#z@G`J*q(>dy)u_f* z*zE`teS~oAXy5H&fiY}npKpbKJ~qK6;cmHbz9ypE4Fa-ehSGV6r_KEPyOs5P=t(sdd01d1labIV3 z;>peP(Bz-=GFV?fXuTs>VzzrNzIr*Cd( zx)U|N|L#lQN<#^Viobr`3_(){wR@EgL+5I6LCXL0NNEJfWK}hMg%{?W(Ym?n_$xi@ zXK7T?DD7FS46C%LB)V-XedRF`hm0Lld{`*()3j+G+To)-3b2nhSQh;zcpg1Z5))Ly z1Y5R;s1@q8^wB7ocd8LAWRn2F(W4;xe&1aqED4SZ2ag;bC)t>{wyp{tDfL|*$Sr6J z%ukQWj#35n>FM~i+BoZR+Zzs1c0 zR<%R|My1|6x$!-gLB^@y*S+I6^7?veM^%cEL9I}~%cl(ljT)dx$x1LqpSB#-;}rd; zJMj@6)e>4vxUJAPT(3-a{TmZ;DY(nMyGXJ)aXO#t)^3>@eeI&VP`WIM;;^b=>Hozf z7}KtOC<&|VDz`FQ8P!*`Deo*!uf+3>c51z_s*lB;xVGc7vR%D~-_X6|tZt4{HJ6Bk zFe?&Lcv?NMBBe`k-4>GEmYmyXxS_0kP%vGJtcw<<_EMeBKDM7ROYl4q-S_9$y%O3$ ziOc0v|87gd;&aoz(z(JzieL!fb$|H>Sb`R^t3Qr8e{EtO+uVG$I9`fNsBt8x;`u;C z+fqhXhZfL%^K>ycH50xlDro3Qh=NyuPmohmp6VCrLrBsEci)fR=AUWa zHwPtHkiwVdr>-GE;e%`(kVr{W79k2G6w!xXf091)XMt#`v^ARxjhcG_Mc?;{jqytQ z;`$D=VXI@CdOR_Ck}Z9P2a^naT&KmlrFBRKGe=EvLa!?0O_M^+-EQAn@&mac?MXiW zIRXiE32}}vKzbgg-vwAZGs_^(_A-@Hw5~+&Pa#NT~-4;Gr}j87ws;Y zOenJZcD2gvv3i132WdZO9(HT$$Jpb`x5>Uuu)R>bu*dsjs?&-v$4aML_R7rKcXi-= zr}CDfYuDxsDQij5iI+L2jf&C~=c9baBdgZa@QBNi#r@5)Dy2ByO_cG7_zO3(+|$EK zysDXZtOAc}7DA~8Aa_l8W=q-LKK|0eUlY=K!#_9t7~_`iOp};)arIu=DHh9SIh&SuQ*?k0)T4zT}c0LJ_2&=9iN{joXb-Em}nU)VhE4KNpFmK)Z zon3Wv`Dp$mzPF&}G~7l`8>c7Dj@*5Cof1cL+SMXd#cQ;wR`Vw^bfMp+FJ+|y;>B-F zx6inhHEaxU+sSI0};aY+7O*c&&y2>oX0!2ECp*@ zX-rpkT6S1K6tx1MBr5a>1;qDyawXyPJU|a1bvNvkAGGZ1DkIlL9!>bAgzX7cYE!GwG6pWxaq?hbb&-pO2I0?%6_1$BIAYR zUn#}Ys%BIx^3^tzc1TXd&2UQM3@2Zza40sY&s~sh{x1v!KY4~?p95G+e%lCQuUUIr zmplEZS23Ws7-5+|4R-NAXuF5#(7I?_)Uj=Q$F^gFt`*P8RgO~}`;v7l%wg|Z~ zH8f$B-TnCJ)}ivedL z00aS|ulVJ9`sV=I@RE`M5FhwR3n0Vf)t!T+0fj*w0DRp>!EXAS|tIeQ5K%790S ztAX;t{Tk2tq}I(8csKmzqrVv#!@ym$$zjs~!z;ojvuzZh%(GHay z-W|FND}wul+ik&)UVo2_TKePI+t+0nXYpm!!Seq!f7+v?BnUU;a0rp+2^CQk@F(?k z03mVvE{f6c)4vjfu>6X@F`+wCjH%Nd2rvIb{EPV; z)gXW++r^jK_$6?=+}~;@W6ZVqqmZ&l4ua|rv7+eFQCeU7CR3#^Qx@vDkCH0iL3_4e zy{fxOx+Bv9-w2H02+q@yIHt&%52Pxoil0Y76&dhKrR%eN!5;>Zf%WAmgC24yf(JvS z&&3a{knO>rw2;(k8V98ZzzC2GQ9qM6z6w(Xi>eQ~G{)ErY$R-sFgomC;3ezV%!DbL z&In@4NJlAo=9!ZU*iqHW|Gc58aq1_y_`n4um3mG(>(vF?hA0S|ZUjG?Q?(i5hb|Pi z!?d#sz798yTec*`kP2pL1YRfypG*pWBx)r5+}B4$Cn!Pw-S>K%pQKsD*zJ(!gm`dv zaUFvhA&X1f#-26jmxm()yOa`}l!Y_N$(x42gQd&8DbJIJ#FybIj3`9$yJ-w(rV@o$ zjzd8sUo@*a7`3*Pxw40K|pd25f zV9Z26CrM6`?ZDr0IMHM+I20Lo)Di!|qr)JT>n|SnEPp6k1ct2YGeRa!=Qi_t+gT`0 ziud)!e}WN^Ld8m9%>6JaJ_Ho&izpL&4TVf6f&yVoSKziL@t|l5o5D98$#F!=;dUm4 z08Yg(qmZUXUBa)vbsw3F4(hAC-L8fCw>t`97VSm7?;RpTV>OD$T%EKDrPBlxN*4ow zb<3Q-jrU1~LoeWDzeCgDNRwl8qA_K7XK~9|1jg@$@f!GwxL91=q(aOKAH;IJb(;m@ z3s=rl`HzCjjVMwgFlPF!F}dRqgIj^gk-@Qw#vBX7XadVb9W zZu{NOvoQ>PAgJJ6b%whEnck}3=^wVm?<@JOxwpYA=3v2cg{_7e6&G?q3XRATJTwN; zpV}5(-r6Z_nTz(#mIFzms?!Z1o`BKeVn#)PGQq!MQ_hI6FMM`UQfn5zy~WDnQci=u z4cUMl$ikQ&$tyc7`~<*7AR1c(pf<2d_zNh70cPco4kXP58qm#SmUFNtWiZ%LSe_d8 zcedk-z?Y~37${-Ihz`RIp~9J>%+S@$ddY+QYiuMmd4lbsh=;4NVL!!lroAS)UH54Z;u4vfr`p&2~Kroh%~?bt-N ziU`zaj0@Cy@H7Ij77hMCW2sIux3JLrYPPCK| zjHCnv(OdFr9}XY`7B>o$njA~A8h?rtJfecMy@DJ<#DxxlZw20du}Ghy3J544a03gZ z8f*!O5CH`+r?L-FrZ-63?#by{fIdb+!OH=V3AxNK0tp;pmT^G=e1=IJ)1vbH+Jx^W z$N!jIb2oK?SVtCGg3t#$LByPz8~q-d4TK?&e8waWVGvGH#lccY7I@Txh=WH?c4O=e zV^G#6FhfqE_h%cXI#@MMiPm9UPL?fBiJC)&pp^1Z8OSim#xDsM3*ZdPfs#MOI!HG_ z8R{KmUdFf;%TFHIEXUm^OT0E;;fD&gVf<_XW6-rN%$Nh@c^XMi6?-!$TlftcM#o8-b0 z?hmrWm&g>G>(gD6BOBp6XS;_4!SdYbR!o>3@m+R(k~%=hVc3y|sg-gvxVzo&oRV~fvR6~(>vaXbf)m?+&JHeMV z#%(DTB$JL|GO#^Z2lj7ejol_63c4tb?__NNpf1E7?!Xg)0mlSkkf3u06#2x|Ak~5b z){)~OZJGgnyZTiyAjMMNS_Y`l3{!gA9FcCUmbxI$uCCr(YI5Tl0|#U00osm&c{~@j z6rW7!5z^LAa{0UwOToT?VzeYKVS|#XbPV_t<;4P)aG&Vdah3p~qadxpA-xlIfO5dQ zVHgQ_SY;zUil_85N`>4l(+dLP-w0^Ii(@>QiMaQ{gFrBly`V?K2?i^9S9#HJYi1(1 zJYznO0S}PzU83L(xuI?qvH(&*@}k@ldW@t*pnAIqL|x+i(6pDan^FLrq>)XO06Q_< zxfEK?_ zs58&Bfg0w-Ui-wPoYcj;SU%9rE_YvM+E zTp_%hLsl>DB*HlSQAk&yGZM>8*I(O1759(H?(3f(0e$rlrjw(lnv4Rl zShI+}i^0>)iBacG1NWz|tJUU4GU^>0--zUY#;p6i)hx=1@P2CXP*Q{MY=xYg9>6v# zDgk<^HtZkohpNL-l@-+$T}DDVN=4bL%kYIZlcpzDoEep^wlz17LiG+mMC+U`V&>)UnWkDmWMzN z#tiw|ptgNUso3$>{!iK~j`A?+y|mE}cPm4qCJj~9wGCG=R{Lu`$-0krs_OmTe7y-- zy*hf2weN`xGs52W3uOiszp{Bi`l!t& zQSyU(ytF2i?>58A{K}pMu4(Cv)pL>u`O*0{P{2S+dXEKFVYI^F>4Vgu`OK|9yt{DF8L^yBkz)VsVYUW0qzb; zzBYtIhy$dEkB4>n(G)`|=Pt8+&8=OcBm|UI1Yue6V!)$LHbyl@G-=(7ddPqGTZn#W zV+z$@(nCpG7k_NXLfAB(JDi{D4**oB5hkvBATx6#Im#2OI{LCM`M_z})C2D8$Hz|v zF!vrjIkJIEkRIXr5&Zy=1Z6uu8VPE_pK^o!&}C`VyTK`S3pA)Hlh8qW{HAbfG!$JX z8aC(mn(F&Ezn~0-_9lGz&FbEs)9iw2-iEuZXRg>7I)SH=ao3B`E{=b{Kc?@s;G56I z$7;9NvLe2Hwv@{8R3KMOYJFH*F)eSoudF@>FCV+mUZ81WlGzMZyp8ZktLKc!VGz9k zjkJ~%AHm8JJo`7ENTK?=^0XHq<}T@k(x$JM95U$gCa$ux8U9nLvu`z;Das#2=%!*^ zP7KjRt*rg2P&sip3mm62;yx{6i>jvLLcX%Ko>ADNEqZUzX>0!|c#X{86autxuSaA# zKf8pJz~?IPpuL=?=6htP98;JlP-n^T_Xy=b=F}e^_QUjior=m&Qj*$s%k=$QB7%dJ zbRTO|PH_cPPa2w59^r*hM6$eCyU5S~<#Q*Dt<+wehbR#V8Z5n8i zBsj+9jyX-ZeV-21LiTv;Mx$5zLAE9RkNHXqh=GMmqzGHFPIE;4nrdSAusg_FZKag6tAu&X zM6nCBZ#D59_LwG1J+&Iqh8qumn>z@;tFM;BCnv^CXml>*rLV&0{(|%QDz~hw?!`^% z9)vekRMC!3 zgMs74Xt&o9@myDC?5=q>6B6R~4!Wx;V|8e(rRw}b7^}TF`oM+E--OT*Ntk7fvxeB} zy4q0C&79QI&HgD;)_H(1Rl7*otw*(My*sm{-{ZS&uxUMRgVT`;->u}C(Yf7=63n%aZvbtW5XrLIMg%0- zxwk7jc1}FFDG&CwWc8QpVSVEjFj&sOHn_O;_q}Y<@gaygng^-v>+lz?jJ6QD)YhYV z1HP2Cc2YpctA~)R#d+D?F$Y_3@rdlK%pS3YeCI`i9#ff}Pn_3B0j*D35%65$Q+XZz ze?SwEN~v!hLE*((7XJ8NW_5kuGKw0h%8bz8MiZ|9Y6X5->sN#S8?2>NGUBaWvAoMc_a+eg-!f7sdX~!vm~m zF)lM9R(zO8iGBvLok)&?R`zng-FofOK6}VGAA8-p{aeup1B6dgjHs?oKW6~sqw~Xa zeX&6!Wv_5rT@W=xg0+mkx=s|d&;d&EJwKL#DRg`ByBp@;`qKUiNUrKu{Snb^X)PF0 zmVuc;?}-fA+T)HJ-F9!817q*)N^zJIUb^%^Po9^{iVFW;A)rNKqdo-3QlLVnyX9hS zJ-X&PLU~);6turDRr0pYwoX#zvG4w320Zv!+Y@M;>-G?viJ39;wXN1%d&wZyhRQ z!2cM>g0f`!uz7u>Z^hlGRdaQi(X*qCpeuF$bhKggkRq}@en@2S9{IWYSjINxc6n}y zB3n5L1bOpg+7Mdn>-1cgWce$?$x`g;)_gXIQvo~9dnjOSx_60%zztmOKi@DXg-o2~ z#b&gPY`EYevSLC~E_v6k5w&Q1zhe4U_N$B--PDA!?RXVuZHJuq1wd}Vk{Ck%BS`Vb z4bCVm@h|T+3V(Yq{v%L@N(artGTTd@_80T36T1OPL`H}dX1XVmo>|bO8P@8S|5aX6 zul=gTuxe#&>PcsxeuW4LJi~(nAJ`b^P4GDmtLQ$P#)y_|jWRQ`2o|c|7xBu7USf?y z9spaxIvoyX(kw@s=Mvqu*OB;Vp!CNXUXZfGYN0JE} zw8yBK_?~+@YM#eRyBfItiz%s;;Mb2ddPg2Dw-};c8FQx@Z#;MC?N?9R14Gj8%E8Ao zR`6#UopK61&({O5ndk~u#cV4XX5B1^VJI{NcQ{vaB}d*nwzp^E*V%~A{lbA-R_h0l z6a}6<4Xu24oh)ZgHo9zPL!NXu;(_AMd4X*n+s~f4Vh^rqd{cr}Wm49P}4PuvIE6R;b6DE~$N_`J)!v&Bz}!SJN5!6rT1&hm*pI2Sgg`i0BkQVUW=rHoR~i+w-+4`j<}~m+X5F^euHES`neVck zGr^kQ2)S&=z=E?mFs?0ZwshYSDC7H}qL7t$-P^`1tF<%s=9B=dU(>O_s=k zJDPztsmpPc%wXC}UfLGz!Jo@1Alm=s#L9KxYNm?p2^c$H-RO)UPrW_z9K874B-mb5 zy5V^7K7>K)t~Ef$jx>r&nLI^AfhEKP^3SG!N9oE!H%*8ZpXp%JMu zGm1Iq%u3N$WYXB{6HB*hD~oQ?@OAvgb;(8zE;Z0=I3eB#74|ip5UEJ7`1v0f`nOHy zuvO{d*_bH&(jj5@#PZnFnp3aSd%E~lS_uoHvE7K;^p{H{h=EFXj+a?Rqdc)wl%6yO(eNZtcLAe& z^eGXcs=DLlCllaQyVZUP8RZ+0a^3foMptHk?D2a3%sr!uclvmR=$2lo8RtuS$r)vc zeV<1vU^vQG{L^-|o+^~w*EoGIP@nZ`kkr9-&&~Co1Pfw(ancq@(Fw8B6O&>cM zRbH0rDa`aZ9VZ5-$@zyb6C}jtqR1kkzoExopNt4`gni5+8#g*V>jYfW(f)CYnU!{v z8lUej$EnY%S{w`TM$OL)4hOt!M$TV#lGu<@ExI05QzDFYFS;gmk)9uAE=yE_1K>3i z)|=TouNAy$3eI|=kp4fgUZu1EwoTAY5&nT~U75t*4iBKExGeh#1G&V787-Ny#-3yy zsZ`b%uNbT9?VO`N18%y@U}q-Zo6jxDuiVQC+l<>Nl~xLsn4h1Vua}Vlh6U2qeNSCL z*8M(FnbEPAO^eD0WwqrT)i+)jLFd}$1iq(t$#n~1lp8kJS|clWEfvu=IMtc6HfR^8 z{lPZKXiI2~^@)r6&IRIU^v#-9Fh9i&hAG}J3! z&}6P$5@vZmt!!Vl#6WDiSdJd^j2?%nBGqnU>T&h*xjjGPhB5(`Fym4pi5`uWLIaOm zIw*R#;gjJSzvz&KQrF_>}h!}*?2@eXXH+dAdQ<=^TuMD?|3+rqkcQ%iQl zZqbi;d8ewRerIgfSd1NL{h4InviWy1V<=GoMlYd^9xd3X-}dEwa-=sR(=8J3C|-u} z>xF86KUG(ce!Y-ipzR+~YNpOcmp{K=$o$s}sfJGs>SbPOCOjsU`{>W9_Mi;YVZZtP z(ULUgND0z}(|6)9Fv>Te`!U+VTIW|pfIBppl>}1+kh7Oh0C!d-AcGyh_bXu+zZ$!# z9}>uYHg3fsfzETtL%ok?^4a?`qGi9E-pIbOo`(M*WPt?bVBSPbP%O@^IPgUjVU9-N z2)4>0kg!Fu!@OF%DYaTV(}SvxQ2l&dwQ5^z+YU+R&R(-Sdv%ko?#SGRZuz@eiP2}6 z`sLxmJbd|u-E>g1F3qwJwBmZpjmhhiD`fh>F=ST?Xs|Bt>GChM80h4gltcBsr~;Ye z{a#FzRfRR$!G7q^K@fGah{_vWgVKwNeTu_jc}c#w8oZXz;?*c#HPqIu??<0bN$L{1 zsi#3q{8!1#X_72hl(4AnF;<5H6<4}R73ZZ?ESE|P<76t2^xNC^QUl%s_W0p#!XqnS zf~yYoFkf&>m$Dp%n^jX2X&PLmf+tfGqZPK6bor^<(AtNnw3ed;Q58KT&8tkuFUmSi z251cE%-jEN2A-_lDWTSoUA{dpjtsxsfF?jW^{Nj6n+OnwFwnq=9NI4`I->E_l-f@C zvc*foQ<`t@oBSD24Lp@h*%2Q-Mo12Xj2~daL&niMde*s|w=9(jWB*pM z+_3gJ9Vu0M&$@vdu8?4#TQ*65mzS&gr#k2((ZhpQw<4qWuQu9yC@ud*Y(VSd{fmxU z=ccHpPr~t8F>Y;Zj{bF2LtMupPG5FF@g8JA_UU;Ky~*N7tl-TmJd;c%kn?5SRR$;5 zGV)bhv}r99lxuG9QQElLk9Dr*99AKJ>u0E>%doo)edA^)aTC#r4!l(BH$4f~@J|lUdL6E;eVYQ}e-b zqi#iPBzha2)uw>fGBN^E?=9u*bfmyJ9*U;cAYr$c?LjcQKLLabpz5iE%{D*{pbXIc zVK^XcmQ@lvxU@ht@CZ!H`{fxn+~Mo_3i~;L)-_0L~2)Pi>@zlD+T^(rbarn?ZCEOAA;Mp0>lJt3RP zno_SCvyEqi#%j@izHmAR2`eZk`obl~+2cTE@TrN(_y$464AZf{{xmDt)9*qGhQ zOz*7T$*ekznDRr5R&;g7ZZ7=br`#?nYqO;hyU*2qnzYli_Hop=HL($Ti9sFBN&Idd zNU~p-#ZE2v40HKwg-q)pJH5lr^6pA;KT%e{+n|Zq|Io18m}9&fxF>!AKVdkvRgQ&P zot$&VtY*OM*wZcBJGU#Rl_%t{CU4pJZ+DxuGf*|16xq>ty^SU^5bop&(i|A_^2jE_ z+p05WmMO7n6N;du8TB0ENJ?{Tn7j9YG%YJIxt>mUhz)v2OE_(~-lPit8a4{6I;noJ zuIO)!7R{IKdjF9D_buUil~Si@m zST4@Q?RHnL&dAhp==hh7ugAbib@yY^k2+Q0ny>W_Ii}$Ww#XGe<=)gH?fi4OcJKVE zt$_T;aE8L5HgO+cj|>rQ?=e}qz9M!-zApH)dTF3dwVuEuZ%rHM`Z z0dmjSAU>xabz%_7Cr*|g#-jU7B%qtTHse#4o<1t+jGl%= z7By7qifguZL7uOsLQ_umDOb&2A7<>;D82gkJvaBsoW0HN^#;-K%Ip_g+{7Za9g>Z7AeiRQTJwcLBT6vud9GJOasD&4Vjby)qP`$H8y)46Is)~>qa<*kdb z$C0`3p1q}GWMmn>7yF`e6RG*&Cbfik5sxtdasASkzy*%P8m=aO)#~Fjp|%-_MOj>N zK2Gu$_k1Z|F9G}@?1Pz43Mw}OOo|>`pS6z^*2-lcPf6)Ae*Cx6{viG^@G12zT#&VL zCD#f~gN`n#CXZ^Pp@*_OKrF9p@T_TToyYs)H=(8ABe)9x_Tn!?x686&CBf20bDmBD zJgBal)<5f&$J#fLr=`?F309s|wPoh2Gx`N=)lm~n)Y)=9oyu-Kqg_d4!cz_d^|}@X zri1ra6}-rt+trnKPCEq+?VAf7GRhuqo~uRQKQz`m>L+R2b<-h4&rf8L0og*KaBJYJ z%2J}-4eX{%r#(Jj9SpH0Pj`lQ;|?Ke??g*RHFLHd+X`i*64L4SpD2E7gu^y}GZWf| zzSF9}Aqm^H*B*w*pk4(JuC7je(`s zcI^(QY+e$krZHFpU{kDJDtu{Rp1~i(?N%X!++m#6v2apgLjTZ0Nd!P;A@5Z~Z{;gw zDf%|IaC&gO`o*_-{EmEaJH1J?!|>|vi2#|Yr$PsAY2WhJz*=8*4|Caw`G}hdJHA~W z{u4u+>Ocb@m0K%s-pU5=jtl%Y;ov&LC(asCb#MEP?xg3w7|&YOyITe@CiN@J=1M%`8N*p1*HO`3I)^3``y2d(a2k~o%bKo zfoFT#bdyZ$(wA**aPhwNOw=!~V zptYv5?MtZK4TmF>$on;FNmF;di@bY%Eg^!4Qi8QZeF-nmNK zSm*Z?Q|IADV{DshxsJS9jp@KNyhZS%$9ffJzLi!!>`G+=REy>7!`P4|9_%EPO(vPx7_1?hRTHr4{s-__Y6fNNoJyP8`rd!oI42Bi+x(k{O_nw^d^#`$ zo3>1W<+LqsZ&w{RRztHXMo;ll2Hmkp?Nbs1At`)chM%-@?ZPY5g#=BA8Qy{+0MS`e zp!U9VV>Tsdqgks8he41zat@xyhe&8QCIc&HWmbAH`MP}JLyv`f8ZW+t_SJs=*9?3ySyL<@I(v>P zk=q)DK6SWqpY3xUT<$FD@sQC_^4{&$%%PyS>tKH`#-W^i<~x4Q0`i*T4p6Q&T;l;o z4?oL}Ra$G}p5R=t@~zh7kZ$Twy0%cY+x>}5qFCN9X71XEdhPS{q|}Punm83Ao5OVR znVCxJUR}AySNp6IUHRgq2%mC1NiSg{#A4G%IpiJRXN|;k2JM~>XTMS!Sw<{xb(Iy` zJLY&_ws;6?MA;5ocJpqLv(Gvh!n2Oe?P>L3@(0hfPcWLF=QXMjXs%7WIbJjJA+||t z9n(hYpp`aU(N@N$q(n&>q=nXRy(wV21OjM8i!ONQ;1m+1pfS>xS62Pc3>oq_UkC&f z%>KB~BXVJu{bz<+gHJI)8=pvcR=*}Ap1K!!pPccBn3sSF87%tj( z+A?t8q-_~6N(lfJr7$iv%H)|XiO4Pm1yt~2Q?Ihp|+>4R7MuxPR4~eqk)&&*iSs3$>>ApanQPk4R&4UiK}PG z;-IF5N=CS>-b!WJuJm@h)GT(x7W}3vU`bP(VHT}rK=t7Zu9{pM1b=RtV~%vPvEt~oxrk~-R=yc+$Z81S`sd5@RY zmIvDj14{HB=T~szGeVsB4}MM~J}0>*Za=A){6>qOaVfygd!Z$Z&8$XP1=3A=T# zH*jkPb@K^Atj{f7m}h75va6P&qzN%@WL$c#`+Dq#*xs&#tZ$WK*6aDFSJGc>IiCmKN8D!RLaBnPBRF%d&^_nbZPwp?2=}rQUJo~Mb7uDm#z-(}xsnE@v;}5*V z@@#V$6-j0qEEJd+A->uU%YS!|zhYej2 zR3v?P*f7Xc%xn|ajPkkPuYE$4`s3Spp22f;S4^Z)uGQS8iaS;aJ@I?Q7V1Acrxw5i zlwL?cvL4NExSrErBE5cBPoo7x7Rv%c4mMF2EB2bqg#Im$8BIgMa(3rrn8VnwQVb%I zOHwzN2{5vE{FN4khmU7NZvSebB8Q; z=WQEM|Ls#4qUcoZ9W6DyYA81gLf~Sf`$?$l5P3X;a;~-Aydugb+&suGix$2Mo~{Z< zWKk*GUh<9{qb5Ghn;~t_ce+chpD89;WtG-VVMg7{ZCA0G?doo>C?acW7iYO~fliJ1 zekhwMNPnZs+6Dg=L%OvC-D6Qg305}uYS-Lacf#I|8FSlWZC5K(x~;tbTIZi(y16&F zi}(f>&Hu7zOpW}Z)7WVU6gAAE7!fb=%+d`yF^~y^!QUFPS<3-uy_*S}L$#mHt@DVJ2l$!m4sM!IRi87|VH`p2_#yIem$pRY~N`l2ifo^2smc0$V1-oE|> z-pA{r<*$0uRZOS!ojYQowHsz=u1NkGtyZ$jrS$}8_gTwd`*Pd&e)*d00ch+cEP{9y zspdbx(8c8gNH`v7OM1&!KC=$G!r9IXFC7!L&(%Li*FeYclX&;#+$P|0$f5N=6lfl^5i31B6an6L$E9 zm>-`VG9+0s#lcXHWw&PjD7^KNJlZ$_?1^0a)(6Is4FU|`UIBwuB**O!Z5LkL0Smx~ zJn%iEmwR55vslbPc0h%)pam@r7@&XWC}5>!#EDT5mr_vGge>_DnHU!>)nV_!CMnc> z_#|N<-~SW@%(XlSd@IqgxYB{Q;CJWnFYwE?uVf5dsQ#mF^{s=UrUKQX1+sepNQ0pA z`5!XGppIgiM)tpC=xxmQ-YbMEP;uj6D|~UB*5dyYLjwQ{gi~egdaK8@hZc?uJ@3(z zXu(i$DRAo&Uswk@TX4-^!Kle#0Ww04nM|(Pa@o@O#vbJw!@K!EPGuS`i4y;=r(RRV zcp@OHF#ovPRp^L%{E@S?JtG5UV!9U=^J2Cq>VlN(GUV<^xYLxi(CRjCFpUh8fVq&o z0C1hS`%Hy5CeRt%2Q~#mOYsE16f)v%-Kk{Xb(!{-6sVsfIL{F}k7r7ak@se>&m|bI z!(L)CxjFCdN8??v=Wh_NqLmciTf4n#Ws{kTsQ)UF`{!Dm5i{Q$b*c_~)!hC^NXX5YPCV?J_U9C zTJQ0;*wUu?4F;L(=JWS=nkh=d@T~vQLQ})<{lQvP95C*8NSa!z&;OF^){=J4>Udnw zLeOcpVv^6czo{n8u^|&D4w99zc`$(-NT9v2EG4Pe%I5(NvY9)eQPmrkL* zeGJy;bIQ{?vIi=wVX@@*0yvOa=W}7p};OQV9h@MYh}ykdc~`WQ7Ws#&KiBPHTSUEnXR}Rxoj$Ag0nyWKP==Ge^Y$?i-mgi000dBuihY| z{}+`(kOazlA3xa)&(sP@v!gjzG1)|(Bp<3oV1Wi`(eUS8ac$lRAxgytL}u!^5$%?=4SLJ+@erF+2yh;e&ZbXwKFg*Qq1 z0jEqZ+BOjHE@HtzN1uVePDlYs@W0le-1htxnBEl|!(RVZ3sgVfEhM`aFy@~8$Xwdb zq|?(O(EF5y`wD4A66DP?|`U>cAH=A&{Zj3}k8UZozFI%PRWeosm%=d-vqo9tHD5&5{OZ;qVU_?ulB#=U9iA!G&Y7?h+)nnereq7)!r;9c% ze!GV{=tR1^(rIX`Jy%RWhs2=lbVc08^mUs3%h8R2#A8sO8EJkO=GfuL_z;vk6a9VY zz6~*0+?Rm4cJY7#z0|^;^9f@~T@fYYeIwa9f?#(5KmGx2UmJz9#+kI>dBp)Y8QZ;v z8|UypK<3ZpA)f$(!WIz*cBhr+gSq$Q-^SRaYlw~X#G0)I%SFvXAhCf$B*c0x6p|hV zA_^qqdzAGTC$BG|C@Toy<1D)mC`rr&K++I0+htaV?ca-q{5=QCG^h%)!%KSX&U#^2B#k6OSa$Yv#5G<_q{X z{n&qDiUoybzN(i>oL1UW3SuT&a7%@^dS)Ic6T z+6!ZZb8~$JP^3V3VP|1}$r^*0PnbnSFeqyQl0le|${g(gJM>`U<{{^45W``&`gyzb zHeTO;t^k^>ye8u53qcjbjyn^R0M<`rYd#OjV{pUi^W8@DTPhR$j-YIfi2c7vi1IKH zs|7c12#yndt#1>~X=saA_}bC0aM2`GdgH=s>Jz z88Al9B=Z7%L?;MJQZOO-%wQc;K^aH zBr&C-MRod`A0{3d7(g6fA9=Y|+j|y3HYDdP{J6G!1VWfUj1nln7x_C_z_wue;H|yV zXFYaaONk(X0{u4ntBet^=%HDUfTq4UzYkRWn^?|K43;+GHu@QKHo~HRPup-%Q%L@? z#0%sfFrpgKOnuFW*b>CRLS+V1-|gtTnNOc#IF+c08wjljsWbU8L|bq%VxmMGUQlF% z3XBUrGpmT0Y%DaWj67oDze$oM@qm0#u&c5NW3j?Qp%oDdA58^!P(91(M5fVyg$&3O z1>pNP*f|1gqQ1fi0djBW1dR2IAPncRmBhnf^8%p_f)WE1V)n%06VU+F%lEH7#d%4< z5KJgNcHj2#9!aVBC&u*Yg(GpoL0tvsMPkcYt~SNTS*x z`chcI(2?H>N<-V@^0@K|%lPnrAP4P~6Qs#Lkbws=gmsfNPSjagDMF&DSP4=1RodGR z<5n<$D)8=W^v?EUDIrc|JDB-7A0l`l@JH+Ku8Qv%7dakrh2b5F84?9Tl*Ich5T+O(7@I;v0bnLW zfbC8K&x}jqsz%ZoAcM1|DViwevpz*5}CwOB%%D3|= zEv3q;JjCY3S@c;-r35aH&+u#gPCshOB3eoV`(9_|5sKspK-wb=Q)21<^-dxb8UcC2 z6M+)9h7m|ZgbTnLA$gBMfH!(wn0!M z!WcwqggvXQ-=8aZZ<27vJj%|TB>a>w%#oOmlE8pG=_iMg2vYvecotPI$)s3D7l;$U z{3^<*VIf%>f?%P*rv|`%3;kg7Ym!*5Ng=q1Oo-O+seThWVI25(=`h%t!hA?5;}Jg{ zlR?u3-@}WilB`-2ga*P;$V}7l(`zDH<9Pghg|U`y2-KY$R>KD&$cPbfhLx#DVg=t) z8H2opeo#MsVyw&GWp6;Wt=$%>SB=rMc)7Msb(*0M40bZ-VePXcp6#+L-|QBu4vSBK zmvwSE3dvG_*7Bz^!Hij6y!!SSFuq@b^j*sSm=b&kh)f|kI5CnE5ULGAv)e|sv!v{} zYgDy==kdRxclY_z2?&*A^VSC|A*G(!q;fZx@!iOdbiIGL|6T7_TxHfB-jBUYw~vk` z0#Tx~6J4c%D|@i@9p_!-B2ZDgH{4Cm9l6KkI)^`^bbBYqC!vsv+Gf=Em{)n%9jd88 zFrQ?ML*Ah_mdpq&UA~%aw71jgB{dg_D_LfnX~>RZ``Krl&&YXTEM}S{N5LjaXT7#1L9(PAWg&%jgZNGu z^F0g}2+n>`Ds#n|+tW)TMn~e(H2}Hw!D623wFp>5&C=`Qw}gWml#N4WS6UC~L=~qQ zF1(h9y&hVz=lw+99KMkveI=mwg@_a~HJ_<5=Qm{>HxACpJu~luSs%yb5hKpW8E<@e ze02s9GZ1oP_jec`w0Jj@O(BQnekz5O9pnd(1LyagMCroxID8R#3-Vft{Suz}KCRD+ z$T`B4XV1fchp3QkgcTJcBs9mCsjKihxZ*^#d>>8(AXoNBIlu?fT!!HAV^uYu1j;YX zw@(_|1r8F0^_p|!MJm4qSFZ45LXvc5gpa0--iSlM7;uos^BZTzyfMyWi06lJSG#w_#G?eo=PrV46!1f6 zu@-PPU=t9^nH?(PwfIrtv=_aa#7mxspCyP-`;Q;3rP5mJ?L2(Wjr*7wMb5bln?HsJ z4TqEKlivEyp?xFjf4{uTb?n}Gx3?_oDSqEP{p<#J9}F83rZpWxfWPz`PaM8@VaQqo zT1gO+uLlq5Lv+%!fp;MBVXH>r2BbRPlH2RsVWhyJ1ya!mp$`-+NP_6wu)-+&QS}cC z)h#x_AM)ny7v-q*os8s~z zx-%+IDnM%KcT@DyU-Ab*C=;=wJ0A2+(*#ZP&k%!9xbZ5^kaC}Bbupz&D%u+&l@q#oDjBIO zCdKB#Ui5K-;L_;O{B@06%1#MJru?Bvxa;c_=c%Qi9-iKgCxD-bG5cdtau~;t1Z;b3 z9K+_?uta8lo>7rznQ>ZPHn6@9qM`2LCA{B*GdHMg6OuNA8NzG^rz$!jcDbJ{RUc3|eAjrb6~+M; z_r5ltHY|6o`=vay?tZ?AQ2_Vq_;cE5bMl_<8*_wn2)@a#0klFTyFlwc_1<-47vQG`za#v_D(73+0#UNR^8QSvK}G!t$|#ZKf(sK@4NziTVK+aN)R z$E&x}zRbJ2%!N*aQD=)v>I81R+??LW_G*guj`F;Dr@ZmylKaN=!wUUS=k(2dQw>_r zatds2Bq&-mg{eWSzv!v~WS%0VPZosDvbaHxub4*im*xB_-U-0+mY z$iA6`l~3z|IbuJP^&`cnQt^B|ShXbJDkfoC>_7i%gUWzn(BrWZWPcnzu%l3MS#f$y z3KeKfKH1O;85v^6$Ws!aN@Y-zTPQf%-N4JsEDRVMj!u~7tjU4Z!y#l`VPWCV3SguI zId&!k17Tf_O_(&Zgg^g>wsUN*1nk;uY;~ujj&0jcI<|RY+qP||W7|2gosMnW*5rBK znwpxb`8vO1-}m0vx)$~lGSX;>x`b-L*rEH?Q>5+NK0tx!JDlu-`h`?e2+rhiC+56~ z-?nS*M8#C)5NG)bY^6RZ9NxIH2R2h>H+qR$f8pqK-d$T{1|1Enp^~2JDh9`pmU$zt zkbb`_Hy`*SJy@zF-rm*LB5#_J8@ii2KbSloxDM`}yCdK!$pD#L&C?Bsl;PUXJR@~^ zymxKwPGd4Mt4ez?5v)s}{{J|$Gp9K{P0?=_aph`ov9C3Wl-9QJSPV*DgXYtdgbat% zQLLhs-@G=+dN`x1;y-7E1v?s#ysKRh?saVI~WdfPDmVt^TOL4Z~A#RsGQ{IUgEf#6)j zkNYBJ*l5~h8bRN8HqRkP2I|^Ee?2Y^iEBYU-qua)D6~8`?|#UXfSE6P8dTg_WFYZ4G^Tcz!m+?H~vA^d_)@R-VG;*Yx4@ggBlBo|^Etz1YT;a5tXBC%TxSoe>YL++0 zN>88PNtrmK*^hDUKZ+?kpLAPzDWC9%PNa;_9f89xYA<~qjHI35IZbqWS6a^84W>A= z$D6>I+Ueqw(C#SPwH7wzlt_J$zg&t%`0yCRM zwJ))E1+W#w8ZH1*XJ=j=b>UGxakcT#ZTJeamy?$YGYgbP6{nBJa4N10k%Z>r_FQ~e zWm)kaYG!D<7F-MsfAd9!1(YA0ojkFoeCJ#-el83>Jz#$RqlaH8U|@z&#R!$l@QW%l z1b#&^AO)Dme2C!I0Kb4ahJV*j4A;nR%)XFry`9yuw(wHh(R_-~_{*CQNgV?5)IM9o zxcr6_7c)1H-1xjS`1S+YTW8wIXuJutSrj~mG8duKrYc${pj?3^` zh4s81QIxhh8ACh^oZ4(}meh?2)rm357rXhpRTAJsV-fw7bF+0F(H%8eOw#)-vE171aEsZs zxh-J)(4z|imz{A3@S&)>0Lk`q@O$%p+P1aMVY`+yG%nkG$KO_RSJh6H*vjVgcZEb~ zB$8msYd>SoB>(R1jxuUpO@^G*0J*qo_{3B^*}b3U(E`NHa~L!>w3LuM#AXTR+f;-B zhtIRVcEEPwR&^elPTdFfOD-+a3a13kL2eRW5K{FwG*r56&-R}Za3>H{(MR&PpXnqW z_L$6ZQv}Qf@+^S>9mIfkuJ6SV?%(uR5mnsL&uoD=H58Yqx>-ZIb2aMtqv+wx{Sa;i zgrkl87H#(jmS@Z6uuZ^U;2<2S0ddQf=Hb+VLY z;q|(S-AN5+kycODwb4t+AsK@kvaN5$hfR;0CdhZ5XvR>;XkZP4kEskoI(p$I_dYXY z`oGrUo)V%Mj{=~ zQ!p-B18SImL875+&)2b1$g}?eYL<@2?*q=p6xBznea2p!vu%AdBc`bx13&w<|8Yn5 zZLq6aCp-QQ<7+){8g$McYzM}QyCsEP%C<2vFF4zO0KT&|nTaUPzs&}4(FNiJF$1ys z>-w#>*$}&Y!bxB>C1AGgdcYC^gh-d+h9g!8F}TJEkKIbf>OteF*br-(4w=mO2X6FS z0)MZxv^UDYrn8AMf(Iw#_WiT|GK@eo1xI!FGkx~c*b=L~obzeyOvB^fa2QvgZ@{m` z8m6NmY&Y~Y_Hek5UKy?^vx29wfeBJXaLNfYN-cx2Wri5Ee~ri@*<;SxSAVOD(7~(b znWGXLO5McRxypTrjaG~Y0p68)c)X5@92B*;agmno;@HLOWZIhA=crUbWa}|#e3*K*)XveC_KceUM+>1XGuryl4i8Z19QS-)4QrTRV zMLoxY>PyF=g>c(Z(&j%)k*8ga4@c>;cG*lvT%?~v zn)&v2HVDcy@$&+J#yTSpl{Oik#Bwu((dSV2+?5qG{db5I)GgT3>7&c1p= z^EuU`Qa?;(HlfdNZ%)ynYA2sl&snb}W^LdsV%96qnl?Nd&%fR88Nd>xGVKo}46m$T zB4WG}`DrX`+kxk#Pbo-ywYkR%)sm;4Tf|;%ZB?DYJU0EOjGnEu=Qm_@{9S_w1TqZX zQr%Jef<8zC2M4H6ciMn$ynxKF?!hml_Yh}&8BBua6sXG3ZFbN}i=ID^SKL=$XdYLT zg*X>omTlfUtNIIVu@)Y9><3(b)>3tV{KKkZ+b_`{>?x^?fcFX0EZnK|hAO7RbSwJl z8^440zuW$48F?~UU{^2pob>EX6W#fQ4S=Py7SP?XT*Fs(NuG-qTDrg4^-`$Veced&=#~y4Gvrhn+v5{`DFeqtD{|xf>fCoC3(%?(recyq#c$lkE$*Q ze#$QAp=>+s+9g?~F~gH{kLp6>DX-H>YWMtc8=i^80F9a9hc{EY?7_*^2A^fpTWT`7 zz8q@UpFy-Ca=dZP9BZY!9VJ3cvuP+Z30s{M_Tq#;JcRul={oRoh1+`g#~11{y`STTsJq+6;gn8M(v} zNjB+}no%#5j3IgsqSIUDdh)N94qsReM)2H-|4iHOHzn4yHOJKqa^G~MOAh@|{GRMm zB`Z%CNY+;uaEe2%bhH`mZ zQ$NW>@Gm9&SW+TRt!pU{j=_2UW|Z%L20{{MM`}(8W)$fSjBD-@p^c|IQ1U+gBBhm# zwrF9nX}WyrCS#zHo3SvbKXqCxfkzb};%;)&;ygKqrQx;eD_Rtx`88a)j}E=$uS1BH z)bBCAwk5iNmxX#!@SIPfr|@03JW;YDkieDuknog$yK+{X?2R9~nC;f_1fos-mWfR|nhLIBZ12CrRb=WVP(uBVyLHT(kjSs3`-T3^m==WTjwp zr5vkA*YZzsX#At>EYcgv4u*F@>V!;s&}k7S3?VS#VY<3hvHB7 z(s}}F>GP>a#6AH0{5-PV4BYpasG@bN`>da@GEH!qbf2!m>l%(b&U9PSA=2{@@@(gS z`z>f6)oq?EUNYIyH>J?DA*HM%5|9}j*^QzeF$_rA{Xqi-4(|H)_Bh@hlj#*ngi*@? zVbskA=vlW4!kYUw76sUH>Vom}bh@zBV`o`~5rZg4Bz04H^_$%%WtRM#d(EWNJz8BO z*$G-Sw>ClfdAbwi2njoQ0}J_eQiA~BOXdtl)fE_ypTd9x4?c<7!HJ^bu`e$xzU!$? zv$aQ}dZ?K0{|F(Sna+lcxJS|gpcy`5e4%lL222`ap{vA zpPh$b+4-(Yc|@DfVq~2;s`Gu5FY_qykULj-g?p*PwM+eFjNe&pEP3usu8f9zc?uU308rpQIrpfuX+fts;chSMTS9??A{SFe1qHi^wcQ2`p?~X6)j+&$cCF~f=^0} zP|`q?*g-t4EA6SFnAmDahZgFdI{f3WhJ}sI8F>P)S>Adv_mRw+fzdGekpxRW4fS+e zs9r&RfN5ZUdMUEi+u9>ew+|@O_0A~TK1FN#xKbKl;4m3Jx^(&$)-XBtRgwdwv zjc6{fpLZfQnL02d_}(0Q0Rx+?+yfUhBKl^FzetnWiQugGVUU3KY-J8AoH!>kH8HgWS{Cupbh_ zoSCv6QQU-i%p{GUd9#|SL+$bGEgR)fSHJHzyK}6oaSZ|=@GTZw!h1zZbx{tr9E-R^ zWqiRi0j(Nl@U9nTYO;O+J4c|=}9=f64${l2n zJ-P~k@kdad%*!nZ>m9&@3CF-+VSIk^74Mz3df?!C(`lD7L#^GC?G>L$K ze3X6TbdY?ZD5m#K&y9f&I_&(%2J6?#Td;V8FWR9h zknw2jr+0oRxBW=fpqp#vS}9y-XLY%3hEF^hZ>l%FpFTDl|7`Mq0nes_k00|xh8tR1 zI4{P2S-Z^RIal+Ns536FZxJ2M+wnD~c)*_qULrz4n)O|Yh{PI7GA-F~cB;LMridzB z6`G0^b=jY@^@Zhj_cWiajGg5LW?SCh>gguxl+7-7L>!5p(>nXe6{Fagu}_)nF|ch1 zPL9$3Ku#{i>ndHdq;txq4Y>%=6@Clwq{I6`X2>1;&;|jKqX3H>ap$VJT9;HJ`XneR z{kZO2soI82y7mgESN({3{_!mR*>@JIUFB5+e#)g+;k`P~`exYXN0>C}9=OC%$h(U| zJj)TIm?`ir{lPS-h@Wv4(Exw7@Dp?qb(lY=1ew3e9KLPy1WF4{q7pwMv4EhHEVo z5K&Clt2a2TmROo!mRBZ4VE(i5U4P@Mk3EH@o6qwxvobKBiwj;>9$6cy-{kXVyjAbA z>4Y%vSl7qnFJ_%7J&A(9v$DR96SG`abGoa4wtlF2ru$v@`F4r={j?54?~uuDWpHpF z{yO%?Y^HS|9vOG1Igfj@cSVcRm+=@Vb^TXc0?(fI$CQq>je6+cnbr47;M@M9JrHRf zI|VV4PUF-~U{-VBWYW>U14_HtfY7s`zaf9u?u%< z|7p|jZFB*|K(t(4WRO&_F1<4-E(VhWWu&!=y;jUmWKw6_vwP1(Rjhl?MZ${Xm( zr%1et<|e#a(~pO9p{wg|NSluPD$dFDm!qRDYpOc!31ki4*cGANNzUTbb;fe*i0jSK zD!lID)G>`myo6CEG#kw}da>5?nNyj9zlk0RYowo1dMX$T z*6{BdUA;LIQ|1p1%=Anczk<)B$~Rt9IJPk2IYo11n9k5Ts?Mcc_OBk`mxuXX!+`->xflF* z`ZeWZarvv2#&V=*7{?ZM6nn=I)Xs`kebJC#!dtP^n^HK<;KrHM~PmoM5e#HsgO3=J@3?Cdw9FVD@u@1t6*@{KCW|t9b8r1Zjk#)$gp~$7&W3Xip_`CJpy5=rp4Gjv( zwCD2Mnbh;_uXw>kwzN|`^AFt8cXJWzYTML*9p=o2Lx+($UbuMjB`bfuy-cCOh-Zy6 zxZRx8B>=a*u+@U|&4z>tKa^A}xI;r_=1{K&a3UpgT!*iZRj2)BT+Rk{G0LmXWwZ(v ztLySll6KS{GLx;K#A8*gmZGiK&}w)L&NAqVNZ0;~-$godH7NbHs=j}vww>+GKQ4ddWHjt^L%tBK~V&tWgB zM8w6GYo(0`c)AmNBx{D=@1e+nLPv&;A^$5l?N?7(+Gt-%X1!b0seF5YgM=!oDnC+A zuVTHbveg&iH@Y8pTGHHS>*S!nbYW*S9vOn$^fl9Z`d7}2mV1SNb5%Ai8-~@zYPDfo z)T*Zr*!pw^y^&*k6Y;=R((+xiE)lm53h1i(phG5QHHWsa*<{0oA_hX*Ut|2JvZdap z$0*=;N50W1Jul%{yEl%>%a0{3OwY*~w0S!|`HT$0p3P(dJlz;0Rf^Q=_{;b^*Dvtj z51~ENUTbbwDpAK{RPGd2$I!V{l+e1w)bd(!Th}qabdD_KUYqv8dZO&yv<6vm5Q5A8 z$yH3C!d@otlOhB58;G!cT3A06yoChB$CrtSCE5NdwIE1@!B~qsbqhD&5_|-M zcI0}EblOkd(mnRi=D3-AywMA**d_I8dWGtcr5klW#vv{CXh_7WCCFvBJS5(_Xd}}& zTg^8qTuAItPDbQsVX%=$?at9+>Tz^exR{;YW#0#OHNiJZ*7Hi7%`IBj)w-T!)p=WI zrZqih4w7l%XvKQL`dE#Wm8X3T=<7JPlp zZu_gAwyxFosf>=6ud%PY4p*HleF9&za#CfemQ*kJY>I{*{g2**>uC45RaG=%xhMT5m(A^* z^73`doe@&B4=gE=a|jHoadB~QUCKnR5rwysg zAK(#EJQLDVn8`UlhAc=)zeD!cq{8K|e-pO8raU{(F$KgM2+KJ;6dbC@Zj>h>A$Te> zzPgVyZ$6joi=yT30M>7Ut&|rsS!Sa2}h^V5^!2i-ZOai zLtvGCQxi)Kv-uRV-XN+i);p<%oHt_f@A-2~stF8h-{hX3H^CZ2x@HW7cUQWtpV!hH z7o{3Keapmv`%#!)Z5)5Z_|IIV<}#UBHkzItYWVR(k@cjzFM^zdN=$2+Q^rO7rcEEZ z2T7b!k%(vK{x5ug_Ui1+2_CLTo?Oni&$&I@T}6w@tn01=CLZxhqvp2KjvMD6@#o|A zm7I2WJjiO!$7i=Hlo=Yy!oTM|buH0t!lRDrCBx&ST8#0^TFiSGW%)fj1w6cm-;B=& z_qexkn_QpkEwwZY4++Tl8cIA~MwvRvtnDunJM)hLb<3%~iUF2?S+O@}z z6$^UUY?__gTJ6kQQ*NKf!mst4O(fX;`FG~bLGK=@%UYt~!pOR7E}uQKLNAE9wrUlk zt=p}0XXBe#8%Or{TUlGf3NdT{Jc|chUh<=7vF{z0etAhAO(dF>#`elk! zGnqU&YkDs?B^v{1sBgSFqqw0nf~61C=tEahnj8uttPN@sOn-F+MFW`2v*1Sp-Z=mE z^o8+m!nO1$Y+2NiNWR;KIS;;9l{Xng}kAE2Q(Ju9YTAV0>g(5HqlA4HZ$#RZNK_z zD6R6!@%mjz14EeBjmJ)d1+jzte)XINf=+W!1y_z#jP@-9Y5LCdHw%K4E{a zYHE($2w3t|gd6QNeW6Pn=%?FDkbY7aano(+iAGA2K9>`l*enhsd!tX`VMP<0LNI4T za!a}qsLqz`H2E)%>B=B_58UmPAbcdNc4l3W#1c=i=a8pR+DB`-t!WZ<+)`MPU5|P0 zd6>>&wOE%swNc4jUU7I)|8hw*M9aKu;=|R*uxnBs(((>&89YOiN?cfyVhRU6(S@B7 zuenn1>g=-5JwnW9kl6`X9^QX$*cg~bf4Ke01S*8UST>2a=#zQw9pm8>o@RSJOM7lN zX@ZJP9EuIb&4~cMEB1c2Tt8u;*Qn{6_i&)Y=dta4FND`OPNx-fpNQSo2t_m)i*Tr` zvtDE3V)C`->BH*D_~3Sl8?VN%w#1t0UX8vI4rtNRXKv&40b`lHE6LnL(({g;3~FRA zX0)U|WHpCqCs)w^v+^f=H@x?~ zN9)vmxB?AIwl>fl`Bsj5mK=8gQwc$=R#3nQ_@d+F>Bpuhlqnt4E6NY9Q?YD#wH(`9 zTclIG6JIP1$D1CTm0|pf(7^1C)+8Kt6QNvLZfk4zGulSZj=_-;j<1~1mS9& z9VZUF9>R{PRW}=G#G=;A8rqF+EH*l-@|yd67Hb9B_@sPiE+!qF@_mWP9W5p;>YP&~ zb*Ca;pI|!guq%Asc~7>MhTdvpa3U3_ZNV5-oFjD_`iUc0yPxT5w_Go&hlA`*x*J=s z20FXr;*pDXuAWSe=ypGVG0Rf3mb$zF?QgJIp03B;4!$Al482nXZ2 zSWVr_o>Gz4Tqu=sX*)BWt-2)??jG8P*pL(X=_aUiPLQ{F#+6$xAEU8GH!9h#@|6e2 zP!FCa&`sBB+H{r|_ixkQd#XN%z*{e+#!)lnyqa=c0)Zq)r{yYodcD=J0X03k6=#qw z9d6>rl_?}k>2w!B_D)5726jzYf5;Mele+BO$Nc=~!FR}Kh%Haj<5Q*gz0draL_im>vsAw;= zH6Vn0=!}71TC*f;dq;3C1xf-{lr6koaZkL)*AEiBnfItfT|-Nj?nlBWa$&>IT#t|_ zViAKWYvd7D=*#o3c^=&AmiC2Mkp&@mxi-RhzuH>b7ux0pH~B(tfU>|8XPhg|E9C@{+DHY{||qA~zV7COPYj5EwiLWUdc2L!$)JmY zmQHNx+IQqL-LU-7X1O!+VP#X_KV?K48_Bb&62}Q2R{Q-VWv~gc+HvJYP+$eHR!k-O zZDCTAbW8AVfiu_e7OofRv2fXbMlzhPjWe@Cjw&(8myH;1df!Z2<-oPPO;4t4X#Do5 z%YC%dT#oI7k1xi896Zd9_fy4#EZdF9a;`%5tn%XNr057^!=s@gZV(-*p|)a%`D?H5 zYZqK7o(37SzvT+2b~2>VBa(lG4l8j_i&;pA_E%y~5s|{eTbASFDQb3c z1s1m`B__Bzg0dG!b!K*!g_NQ2k^i0If zDv%KAPt{{%vpPu%GaA33Ts0&Q1IBEW%zmBg&OWm#;ip=+NZSL6^FJ7@^8fq*2d?(CAg-1E&A9JJ>PNDqxDpS+s4LPMMlApsS0gk z?`Cn4XEBkiE9rLyyccM_;rUbkpHSMexs3d^YqwR*7b1#ki|X?g?kl(2qHona`?u*g zL#B5_aT6Ep@O+%Q9XgcW>dcmTnm8(ZuLn99Mtr%1KHk9KlIjX!Kh2UC%8Kg+|F>et zbFiSPvJq92gqs_N!m(Tfew0t8bXsf|p($=g}1}5so1f5R+4qfU4^r0xjmg z4m&KuhxZdfF*RM(hs{?luK^_p5+%1PdUv`lK7xrk_Bv?P7BfBNeWbh)=q?a$o7D4n zF7KV0A^hu$Uig+up@YTHi_iZhjJQ!zS*gs1*1^UeDR4L?jWijnn`MB9@>)Z=-VIC=AFDlDp8`l;x_$z z=-^zFhQaNLH+C|`F}HjbF!6hAg!+9{PHac+@)e0FkM2%@AAH?cXJ5ee|1d^v|7DEse7+f@K@;Pj1E7K^_5AC)NUw1I0Ji&%^FW;xVWv_=3WAyJ`HXOQvqB2~*%iCUw#LcxGwJ>b z(=*Qs?Zkr6Fy#2_jz6y^eeDefIDljTLm`1>>Nu~@UM1+2fg_99G+c2I{?|fH^@~EU zDgg9@X+0{AsC%nA5##9r8`d| z&LG5+a`=spME$|1e=vK_)ZaIuy?Vl1yFjH^PcC_@u#&{Gyso`^kJ!7u4-wP%f;7PD z`I+MV4>~hi&;TkyEw8Jj@Rp|fmT1NF1<;CO5kKt0OMuV$Ncz_p0_ekTCWXh+kPIJi-jk*pct=7J3B8p3Hw#+Y3#_yO+W15O zfd6AgAO~aq$^RWRjvZ|2OxwzS8q7n^j_$~x01Gt?Vx~uqVjyUO5U%x3xJEfF>ZfIf zUpdM(DqMNT-?IH7zX5bO=tAWYqIey`1xy+2v(#!d;f>VD7U~VD#jlw|pVWE=%W)^T}$KR0AIy6@Y`lrvajMzY7ZCq}0-3RryE^jCX|(ZAeLtx}}tr@%n;6aR_-05@>ugRPBw zX<*v~2V3JOW)MV74tEKLdbNg~g^3f^yasRb-_Ajj)l14jq9Eb;64*hd`C3o;G!xsm z|MY+P#M8o-pTaaf2|Eo7Iz?nm1@w5VMd8 zb9=L|BbagOi$T&VDKwvparGLmviU)zYgqN^jovoshzl$9gs*-%#>zTT{<=WO*Z=t) zCXmI@r`m~{`bLa!{)-r;LxM<)V=%Bsf&9$K=OXjxBjP!x;HZtB#=k}q7+)3+N#cyI zh{%4^H6ia&^$oaaX=9oJ$)vpChEggyCA@ytX1^y4!e$yGj6=3qcM(A6w!>%nWB~sS z6^Rv|x3{^KJ%j$jCqs$!hc6inQnG}@MCkcxI%MKcJfl1#spvKd%ETKd@&GFIF;5UE z0SBAjmjU```4;R1h3K%A&n`-y3N4oNZLO1q99mJ3l>olC3IX}A()))$&1b3fk32%( ze|IBu2tYCsx@hrSh0A*u{6lRmVjZ08q56WBt>I5 zl%S1Q>oMUkG76(zdlQyo{&ZPz6`)jEa!wA9ezGVjQbzL16Pl`#aJ+A+JD} zm}l|=d#O(oHMTsToq2l=;(k!{ukG4v4h$}E0;qIez0S}6D!{WKt{F_WW(+D_ax)iB zZ`u_ejvCD@-*w|>lAj$HLx%isgLEb358^K_8UuROJVHR8z=rfbh8yLhpKPlYh;EO3 zZ_E-jCaOMoR0Jn18)`iWL8bs-ZrY!B5-&Lx2}nbj#-k7r!tAJq!k5rlVR=|k32Ba6 zjb<|M5r2{le4>ki)&@{mKSW3!MuI&=moXTd&-Xtf6!PG+RHyNMqfR1z_#VR`s<Bb7E zuT*fy>Zj}YTSI6Yq=fPx7#24z^N;|h6EJGPnkcR(5UNt}pRiRQcsi^g(BxNBbg`$xfwn*cXg53j)6H`^>7@|Z6zb?yeZE*2;T6ubSME| z;b`pG?>{(TZK7_{+T@qyvM{^DwKeN;Oe9E(hAa<4a}+ExVsp%9t5L~a{WMz7`bVF4I=`B9x-`kDo6)J7 zSO51N$gf9_!LB&*eT0z2<9b@<@E6q!c?w%%;!tuQ47oyf+Kx|>JP#P(V~-l)>~{AZ z;&ZqGITLR{fC%t7(Vm{4>S1dP<@T)w=GpNV%9VJ|EF1@iU8%;oU+Y*k-2^kAas6Xf z)HI8C*pqY=up;R&G3ew5Jr#VBRT}kNoBqArOiL)X{?MO3ivvN7gAFqp!*3lqFs24A}lWfy;1?3R;q;d7+C?R4tjC1A7HZrER&#?3?~pcTM%@q-(= z0^gX`GIHE75#l(KZ=l$^^_E4^X^A!G573=gWG5+AyC(N(M2`yR*nRKFhPD;hZZ@rr zjK5G|q_Pt0ikOC%XFd236bjG)69a-e3F3YozJUH8fBmMKCqhGjR!q8AEUHfu*KFz5Cz6vooBS7$do$&2nt!Vr6 z5M|W+5In)uMo^pq+)^V*^^opTaT$T0`=z@$&tr$gJX6u$I!sg0fR}#DA0xl4SI`hg zWJIuNXPzY}G;4zR4x)w>;^gt1C3%9qv$hKz2zastIK6o?ZkbDpzLBDr0@xPqry7LXHqi);-0itd`7IcrJ7P&^D3Lt9}ZfqKG`P~d)jA{6~a^<3F|%kS>d!BwVKXLRfPXnkjQ>Z z>>;;-UT40m>*%E*`D1JdJ#QK-Z$_NyH+f+|e9y;V!*wjko$v5hGq}kWZ-US5+?VV7 zm)+kj4*fcm2`25KNp^l8^Y>De5a`T)CT*Aqr&>$|L6F0}LrsDS|K!5}eM_59$aPFv z1bAipLz)nbUgnadupTcQOo~uuWNi4}Tcw=6EM2<}N`H}gXRp>nsAwu$CV5SPQ;goGh$V_zAGDu|O4 zV&pdXvhgQMpqAYvWELjBmO*iZcxvy@BRp);%MX)&ra!RV&rze^5Z{N#exVgYv;ZEO z(0Ru&DW3}0;-I*NthB;7hOEx;A3UDLD1z9FfzB{on(dma)Pkz6lIStiU$KA4Am9le zz;?6PTpnW}(A3kjvt^j`f(YwOl*pO0(i5xr1eKOVCPn7d<)UFMEm4yIqAsyUJ}U(` z5Bw8-6w(U}A@IBU0FiH==(&!j_NnGl&v|73^$aL#LC>*>&+eW3qv_rMMHkK{<4wkV zYZ*7Sd$F)R+!7AEdp+C!0HoKTSFC35h3~eptHg3EEgcY;VNva?5_#*eqg<(v#D zghXZ@gG?oET#j`qvlbk402PZ_3Cqdm;cO^%tgd3nJ;=DYcI!XxeIm!Gr-!hD&PMV} zmobB$@$s%?tF%byTzEcFTfV{13oi)bLgVlke{jI(76?Wz{sL0LRxqHYs1( z`!?JTqjhg{dFKdworvP!K#|IRQV^*@3AII6_mvsm(3a^l<*w3804l5I0Z}cp5W%oH zxK?ipCpxFe4cQ)mT94}?v{gl&0g_S$*)S9a^E9zPEQ*LLtcU8x4?=fp68?|?0|ObV z-yD%XFjaORVD+AV14Tqk?7IMx{z;ydUdusL!&E{r!QYz@_!J5|>aQ;0k+s^aQ4nh6 z;^V+huZ%aYn@iBKW_brF;%wkMjml{~v34V)D(gs9yW9xL9Nag>Ey!BoM$giHB`bVz zls@P(%we#fI$r;#T4B z(cD|JubFS})|Z{6q52-IaQ7C7W2rg!8Xgf&o6(pm7OzabDa?y7+H8%H)j4+yL6+e zQjwRFo=J9OaVF0C-o~oQjvbrv?CqLAb?S%t(4hJE1EHx*T;;du#~nu1J%kzayn-W4 zRDSmw?Odx0(a!;VW~>K&>0;9H$Yy@O+HZ&8hd&Hv=&(%Ui=KmOdLh?UHUA z!*wMvpxNQ`DOepbN7x}{WjjzYi8Y7z>^LYcf!ZSi_WR~}LF6DUK=n=cKB#s*!Z``A z`<};PkXqvL@q@LNSdljxRY1WX(&};V*{n~5WSq3i@6Y^PFf01=*|Eh7iWh*DmY>&` zRR%GjIiot4O+rRIQDkwE%$aSUv~>dpK9GJl981PtM9uPQ7dOwQq?8ZmztP(?uZc8Zw*Fh} z*hnDavEBOvQ2C^J*>ew$OtgCwLkhzhsDydKc8lwFM^!+GM7)h0z?mPXxth+jl;ABE z$pSuKyZA21EjLG>Mo^9x*zDH@aCahglwDo=v^gF9oH~yTFVb=9&Yg#{U7MnImTh*( zRV9P3YA;oao()(($KDx5`8R9|=2|b`OivT64Lv))XWS?vH-CHGpPRd-w;Ice@g@*%*1e}f5xA0!8ZCr0*vp`E){FH zL|15Rai-klf>51rDuH{}fOpBaRNuZ6<7Z3?eZ9!NJ2%X{NP%@MB0^1u{qUm+dF zDF-)(>$GSU1At27!f7Wu4{{fUt5K+}HOCmkh8=yicj;-Bi(nOSr9WX0O70NK8A^FdS6)af(yqLWr(nh9hUOQf~eXq#C!a ztmC@_ld4qC-p|U2XGh^ye?B><>ON;&tw5Z7!PzQpoy*C~=IZY{wze?S%FC4(7xs#m z4o2oCMvGyblAN@H@y!hOW186wU#8hkyTi|c%sH1fx^ljuqrn*_P(Y3V zF*V=^1l9m!8lx;-8n||G&k}t+gdnxX4_R4#|C?G&_N`|&BdCx>cw>ac?!^DnL}UTh z<5||`a?G6=cw|9%+R7`%P*O5KWriK#rVc~1{@Q)hME+4-{Y*QCG`7NO$x#?%ySYdF z2d1`tO;5$52Y2?a}R#fpjQT(I%sd7P3p1=bs2nUzI}J8#~MPN zE*{+?0WUq#UAlJn-;R}1?q>$+quJ(p(Xu4kG+L2M9u;~%BhF}>Ovf{*``eM>5A1)n z^OY@|96Yj3x@~3V`G1<;IAlapX*WP+|6-q}*B?E&^7k=6FK2@ICHQfqbixtjsD;zkTG_$B1V6 zFbc!@eML|B5=uOFhQJg6w^O_q#P0Zmhu87WN?QXXwA@?w^Gzj;R64Vrs#1MtGd3FI z*%lZvmKkIBkyCLYJb30+3EkQ5*)_fm*GNDVfW1~=(_PAC0Xw3?S-D>50kEjGN=jxT zy(!7?z)aW&gug)^C@1567){q6vutN}k`J;7JzOt>2zzU_V;w7k|ArX4$!2SvzJl!? zd}lOHzJSzb{T6%U`%{gP=kvXPju?Al`p!)&t`pH(4zs)Yf;u+LW^ZX9K0cgu#2Jp8 z-y{C*BslokzI%ev6ZU;IQu~%M+gyw)DPsdTYk|7<5Ms1 z$zR*TT>Nb|>BTbeMp3SUD_3V@@2{Ef`y;W07HRxvv9QeIa5{s{Ds>L`lsPkvk||cn zFVpsZM?8UEUdwV_^6RiDI7bsCvib3idHL0Z4;Kyrv4^{i%c^>Mp!J<&1zPs$xAmL# zn$;tPC5Pc~;>|9uoqKz8J@inPd>319f_1n8C$h!S{+HKO-YX>qC2X-ZmL{mFueL9H zL5Db>;m4cF4dEuUEMW}!WC9XRaEivWoKpIcFUOucyz6>>2XZEoOhek#FjsBaH0dcd znbcyAD>DgP=2NzNrJ2uXM8=(e!is`e(8y~iEQ>N;8~VDG0dVs~2?WZ_qw38{!?Cep85}$#z4g4U(?#1R3h>n$B)6R zK&tC119xsAFRJxgc5D0HM^C&#Oqcd-dW{^?J7siK-*d0|wTtK)41-s0`t#kR_W0ID z$A9KS#K8Qdqm6JuSAzL=z74mfFi||?IWMP{CP2T|kIrt-IIVZt#OEev{Jk(c@QKQ#tA3+v zr+g7?`aQCSY6%vz#@so7{Hfphs9@x>f`R#^1fHEgEr+xIxbo}Pf%V}MIdks}SKG6` zU$JcXzEW#TRF8)WYmeEM!1jtq=JJnuu4dp0p+lvh|5^DFw)B{ums{uMd_zFLbQRoM zMFra6p$H6(!+M=ZQQPSK*zGMU8z?&xX6&HY`0!;e=-U%!q`TzSat*1Yv`(S6K1=`VEksuUo+mFJ;M(vwG zj95*Ch+v-;vBDJZ3%k}j;kw0cDlM1Dv~QZI%4o1U;^>xMHoNqW7wceR!6K-IKgA=T zp}drboLBqRXAJ$u4$^rSpsV>Uc^|`YgkoD5-STE#t7fa%x*eqm!O0+~y@Wat!?-xe zi&_hEH|$eWYin7V7_)vW?ec})6eVg^<@tj5XWc?KnbZpz)YoU&`0RSPt=S{n${*pR zneZ^`WV8AHszUUZ?U)htwq$__V&-UagKHql@{CA;loooM++}2}5!T@^0+5P3`1sX3 zSvl|sR+PyCAkf87l5P$M9tMXx-}T-W|H04t-4kHWLa8y0$suNWm{t8Q4DSLig1U~p zS@MSYrJM+9{zasfF9wxlB_Q&^_5DhNSMAtqy~90x-$v%tz$`t43ucbkYZMilc{m+W zA)0106TPulT5#n&H*`LKCMvF~;1%|`MroF4p(D>1X`xuPZo6%)>I}b40HX^|t$*a^ zkbM1LwB6%d<$u)h{cKD%S(9zsm^j(Cu`?&zw(WMdjj1NPCfnHI?suLK?&ErJJ-q&i zeSG(^KI^sK^zaCgdSygHzM8+{ij%Nj$FD+LZERytM;G4wQcIR@dAIT;Q68AQAGFLT z7p2hoTGJh}n?qAg*7(_}pND0fKXF>U_8;68w@NW@iLm^=3IlIf#4JM=!9lYojHt^F z?!V&MZjQMKqt;s!?|JlFpK}G9{>f$+$PqPk2Vi#XHYYo*$4^#eyiZnl=M}eyly#|U zYkmB>sK5D1xuj5i7JxTmzYtZ8`}XlTFvOTdx|cN<*dz7FGPFmwf59b8Z)j>wH#L%a zYJk=k$Y>9N$OrjdUX1GROs^gI-B~M*N@)@-J&!9ZypK0{FnEmOk|UaUJRC_iG6oz} zVQA^)MBZVdTvGlP+_p_tR$FN^(509*I#fH-&ygd%W`$U-`z7`{AfJbjY1H2+0^Y%U zvU;sYFljh#I^~MH7@!@ZJgd^U=Gv;~eEHUaYGCxta?357rL$USzxAl_TDg-3{z8^q za*FJmNoJgdPTrJ44A#@RXt375b5al8zdg%a0wHLX*&_TQ%T>D_6UIn&&8ak1U+ zU(e^jxXnuOVcgnb_ zZ#zdGVA%fb8XCT4wh@^_;Ee#FDcadzYlydk>63oTX@8XZ4}#08u4B0T{XCnu5<p5uISo_X8 zcUt<(0w{b<56j=@UW^kge>&K?zY~;YPDV$OxEEmm8QjVTlYh<`no3F^Xlh=c#VU8R zGr)OQP-6C4jyDM-kvzQRi2dUDcsSj5RS%CSTk84+OS+wr{)X>*h4rv1(RUAi3SXDI zR(?Nm(zQqlYW?^$-BAw6(1aYti?#9Ms6jy0+aQY>eN5?ggoooV!$NE7-yYwKh4$~h z+#lk=RX)><0c>Gk`XuljpHRKN4br99IOJV(B6K6S{e4t_R~ZPxC61K962s+}hlm=~ zCW|^&lFZ=8WIMZ)>DJdkUWNU)ElX&-b=f$1Vz_o$%la9rozr*Jvy4yKg5L0@k5-+q z&B!lVtu~js(hWwMqwF^>=(6T~T#m9{1uHMhR~tv{j{JpcYrqGg_8^GAMBgIiS^0^j z4f57Vst{L~(%9I6iugg--IXRGKj713 zh_@vUJmv>#SMnB9^;(Z%);<74f%g^M(~uH6!Nwk_00E! z_mWSrrSK~z-^&W<%4S& zY=60qOoJ3jMotYtR_mMn#E*x7t1LY{&ofsteqv;+2f|71V~k}>x@NbNH4KPOm$OCM ztK)>YVl{wE>EB!iYqx!&*FQ>NSCxs|85z4Rz}qo|Oyvm$bt>W@R|6Z9_W)%1Y`#`? z7jrvZze0|xsB4x*QOEFKi*}9Y1$)y&bBPgkEhK5vug_@&>?Yy2V6d z@zOmN>p_qWIQEOb{W)0GHC570D8VmE*TEvUf^u(1!26=C?m~cnj=!iKufyP_am~Gk zr^cX}r>C&TnGi-0DESyZT3zXtl~Kfw7{eDzDB|i77O7%^Z_TZP)#I^5*Rj7?0Ek1p z#uK^wTgK$g)2S_@5oL4NXQm)c-PXb2`#O(HaYm@9>S5r--yH2~e&;jh{E;0)OBX|= zv3b*4{e1-+b3_9k=wWP#l{PD0F3nwm`v6TK^cvV!^NChXF~E$kd-OgN`ktlpA3kD4 zTbeh4O=+5=2bXO0?_4)F@^^#N93n9c5Ca3$T3(asslxbo#keI?SQmL-UYs1LC!X@K2&^vIHU(|i02$A8)6;W>tEv_rxn)&)< zH87>nnX?vfXMC(UbU&-<)e@klcRK>InOGW{?dWZD36oL`+@w5dZ9k>UrD9N}ThjD< znA)owN_9pFnr}?}zWFe{+E7W>QagUDJ;C9{-ixeo^cX>qro7<-cqWkY*(+Z*EZQF? ztk9ul8fQ!CCO^up)ySx-%C2aY>ol^nl4*$EDDeRn+?MQhC#?+(hHu1!y&ZDR@>@6GC}9)uglr zqTX;;b3(mpsvdU3%Oc8N;k~=@Ti?CMNIB&BJ9S9q-g=oHUGo4QwgQT}Ug1K0mbJL2 zV&dqD>U{s+ly!P|Z2hV!nmE3CqTBK%ayt|(mF4~fYcy^WTz}c4Sov7Bt^=X_SF9-= zW}AM~oO^No`cUkIa9+Mynwc52mN2_AZod6(#GrS0e@X&(Ff^i3+%)jfk^!gjB$)xg zZ&%VT(?TA4Nzwf}pDKfLCdm6}bkRa7P$BsKCYLisyiXzcbAPViqvIbFAegQgrYWC20)`j|D-#&%b4=;H$G===aZaxthnD@t z){WTut~Ve&FO{*8I_%W@>t%*6ODA&w@cBz`C6OxT!JsZ0t4%k6cN%AZa`W`OI;&Vz zbSocc?lbzEEeopO))r%sR!B{mDVfRxulKvPJaVD&_pqU5LOEl5If5P@SR295Th6&V zXsI@+r$=Z%q@l8dDFap^kM@!}0^*PsR<`$-kzLu&&?#*GkFNR#8Jpjwx^IQzC3QD* z@s8uU?YJ47127N{o*0)Ci{B{tVCyP3^_xG7ONc%>J|>rAv3sdIw*^hAf>xdN_N*~a zkV^(>uZXKo_o*|?=+Ggo3c_ZXZIIgAP>l~~^`^8*?f01+D>lskozx<;7O*X45Jq|! zapz?l?C&097?7P+<)Cff7#_dtL~PKfl(izT;eiBvVsdNtR$I+j+{xWB+^yO+?h(o7 zEBeEh&7Jg*nL8NyTR&N}-d#sJb)W7zkL_zc7b6RzMFp!$3cZaF@CrONWS_7YS)#IQ zTx)oku7u^H2S!V*oF($;zne%s_V(iVjL;U{sd*&dpQZ777gE%WT&B{&gu18rymh^& z2%pPN3?$Av5|=&9#KvBK+cpg9dso#t;B7dO!=6BGNlb0_gkT8BX@sH|DT%LHGg^>P*3-9+Ac7gTEB(YixCutMYM=Wm$tn+;rc^* znQEZOPFSX?wR#xzRo(Qm{l!b#yfq8PV9C zzQJ9qzT{+NKuy-=xkF)6VB9R?OCRkWCYcZR2awbcHH+ZhbRI{yky0lP8gu)_&eSu* zY(QXy(njt=-3enJyD^sk`Z7Q>UJD3*C{s*dSN5m$mTL3DI$J9;XK5X@kB3;v+8u@NW} zLJoi(A%FwGhOy`H)ifGJ?|}xkX$;cOU}AV9_q4rGj~IR~Uvli+pvJoxLL}rD)Rcsr zb2P1J$&(}2y~j!O!m1m~(t@OJ3|d_LF}-+6=~Quf?6L$eA1rR76XNixEBfUu=J-P1 zzS-QB^)v^lSL$on=*KfkWow=H8ZPc2QDG_sX3x=|u&=KB?C~up?qHVGSB&9b)nsMM zLtU+^9^aT|w>erA~eg7eumb$HOe2`{%rE+>hp*&;whv7|gk<$cU zEQ~V2cOwdtGy2(JPnt_l=#S+?$RlZ0?fvz7`pa8zKWxj!cvj%@L%)*a;W~LGY`0ORK10*W9X!V6<3tAZwY3f66rGPB&ul&f z)>=c=ZV>F$=dXCu=(Vf&myqfo2!R%uMef^`8 zqGjQVvB9&Wg%{3M-#f9L+@2#$#LchP$MU5r=z%O45m`4!s>ja-F(Gi0$>5<5`4s1b zD7v!4&!hJih??TtKV#p8NT6A2oHxUJQBM4bwT`9aU}@R(Q~;V{c|y(oYW=3@)}%v@ z6mrQh+PAgr*35LI$eM0lM(C%W!=)TYP7x@@#gc6cInzGBJgi@x8t4C_TT%UKq$EZx zW%OE$c}J`0zw3kN_Pb5)AWAmkb$Nlw%{u$(X2RN??c5jO9p^tE+wda~Ij)uwLppb% z;z`?j)q4A!49EK=)5Ej;VZ&NpH%kt6@*| zTpwC*gXRF+uTCnAsrE^)fF3<)84xw5wJT^(>5xOz%@o~v)(O%VD{1S{I{-K<7mQuj1hg(Zyf8RV+cS{(^SVd2o?p)}`lWF; zE&(&sxF$_U_wdBJT}i{>Bu{E#1#8A9>HByr^E8Lrh9t@>l94VIuw}? zq=f>3LMWUUa##L%VFeo(xsIy9-;(AEPO>fbFh%P(3pE=Pf^;4&?Ab~zn0n9M?k_3Z zuh`v)I6}-`V`aCtsQE=O7$16D2dEyO&!u~Hf)407pUQc2dCw>RDl@Iur%;qX=%`VP zyrg-YZjAG;yV>Q&bFU>{9m)`8X!N>B$bVXEr~lRE3kyM8Fsz|dNyqheaeFJ#F}s^> z67n@V7x0QyoNc>*(K^#Gu;cPMArija)k$Dz>yl(Z^HP_JuDS4*B*f+4hM#^Ii-su-VTE@_1Jl=)m z(a;o8HZ=yp+VrpCT~CZd?0JAs1wZs&aPY7|sd)%a3C)0M%>|ZV-%|Bf>~kr5uQXp6 zxhH5}(99Yq^!+hqhS_XCydLZtGa*2q?E+9;dOADxzT#&Ldkrs0XnRW9P7tmO_;&Ll zM#5>%zj!ta?Mulnl7G2VnZ{SmMi;m65LePb`PXYZ7noW>ytQL| z*5dpC$Xf{}Ijz}4?k}q-@_LnTxoP!TaL?|l584M}xTaT7*c;F!cb|$huZ$?x;QvLf z$c@uj^4`$v1ooEd3pFgfC_PrX9O>tV63IR>Dn8+BcS%syJYGnTw`7J?c>7q7>6}_A zt&hR8CE$l}0-jUhuX?u_R;}r|v=P=Ba53xV8*j;^HM4wwm*B(GpTnhlI{e9K1zqW} zzwI_2g8B&2QgiW2FkTt+Z&ZHN$|?D37li~aTFi0{aifH}S}a^tbfh&~TDMBP(12cm zyKOTxNcDliZRXsy;IUO<`!YObpVpTHP8p86w*9Z4F%u9yj|oF~86%0zy+}FQ`|T-F zXECZt6n@t{((Eyyv)v$2lS{hd;^MsoR_1rk4Ah?u8+hll9p~NCtt_6slLelSKW*|3 zwCpo%N*3Ey60_VqO(bF;3Ud+}c^CaUjRH)MR?wF#b@jd5bLaMr3$btfJ^0Y_Iv6NZaS{LY{j$Z=GJEzBj?T(% zCk7@EKnDa5LT~`&Z08hxuRlF_QN#A=NQ|wecs5kykKuT)shu=ScjSnv>X<@Z<1zAR z2ge~2C3+Iee_lB>WhRXDFlXMY1$I%igMeFwYS-?&bhB(-qj=Mt*7quiuGs< z@D(0L-CQ6{Bit!sCz13s5h}sN^UnA$3^ZsbB|^!&?fRS z;2zEgCknTZG;D|F-=ANU_*YVcKvJ=r`(IrtKzzaApCxGG5+SORo^6_9e;|-hi+QSn zrqN$*l@d|`rZ0(S6(pIg5zrVb@5%(4> z3-&GBxqQWq;4x*sHQ}7t@IXbpLF>J_?2bxEF@eXoX2nz0Td~-RUse?DC+<$XLq;7y zsY69U#7u;a4Z;dGZZ8BFvq40S7%EGe=?P9Ceq!Vd#~BN#MugYED9yOiRXg$Gu zK^X@J3YJCg2>-%U47vxq0RQN`$3)VeE=3IJ(n9-@5=~+wCVQ*xVf0FX-}TtjPrSlq zFec+0D`Q>KakP`e8wf9$Uq4Vlse;8M@B|jX9~taEodx)~{^MDO9~xQsG+Ai>aM+Xn z)fQ7n)&sTS z6D7X^^QsKBS$z=l!-BaCyYC2xS{C}LBtM&&TM+GU`|rk!|CLAjVE@S@`*<$cr^zl| zCq+mv;%lubRNDb`Qn7-aF!%-%{BV@q^5Y!vxnITtvcE7P{L=F$ursCY!KJhFrG+Pc zXOm!=B9{*cd(syNXjWjBqd=<3{rU!xD<+b{@xvql9m`SyV-%%6ROCpoTXBd9X7*+XcKTm3;Iq-D7UTz{Xw<9J6+k?*R`aYVjP<$x3@W)eJ86jW1*bimp_07cAt{=nO zr=F8~npj>Fr@o@ye*-#=0>2pu2DW0_L}M(x(Z3Bt|L>z571nS;!C%}k0*@A-P=*?( zRY1B(8091Y!5Xrk4bg|1S^)7^@Sb1MHA||$t!(cd9N0iF=XUSN5?ZoUbfb%etGMJt zXnGWvp}=RHW@r9Tfd8Bh)Ah#){>X|i+mcYCCK|m}@zvtRnPH_ZLr&9?{)-zG?DTO6`uFjHG3+bgDj#xI(%N5oXD~suP@35GzD#Js>XsI4 zv!owaHX8aD?nZEmwvhk`AYKYaE|5%}U}i;%V#xA^>q+{`d01}H*nKp~Q@-Lw%IO7$ zYNoqZNcWp_fxO^FCewXk30lq2Bmr+coL<5iOkWN2XU~m7UDz@Ng!qT1;~;3=S5dd5xQGQzq^E3#3wAd;3*T1L>9j! zkjV*;Qe)m}*c}V=V?{|C#UX_J+OKeF3YL({5|77qp~Y3j!1x=$Z^VwUnWsQP7QCN5 zNQTxBknM3B%&6({DUFAi@W7W#?|iY_W&l?dV!?cqEX@iz2ZiHd2QC;rf=~cFQDuJY z@V7oM*ftN8EBMo=0HgR31qmfTkY0Ti`VtkZRAc2UHGBaG#Oo8@`w36^?6C=j^s>zr zc~uSXNJXj_kIsDW-++j~7X5+fE%9Z(SYJ3Zll@(lDe(|fup|*nAi@fg$iDRo%STVa zk*HV}{QLI0g5B{*8I^qf)r{4C_y@#C*9fHB{IhH7lftu_Za=&hPEsi8nsfBU-Rw ze12}c#8tyvc$_?c{UYi>GFs6iJP#U6_++dI>#7zoC2VlECq)a)x*O2TpP?bXj&{i3 z>}83AE8&~Y%js(f#aT{E_rFYws~w7<*s#zd#ts!x!%btJV7Sq*5y{XXq4=$~alqz8 z1FQlIn1A7ll39g24}5wGJyTK#rtJ&%arDKnA<(Ap&JCkojfo!yp6xV!CNQ!L?1bKj zdF5s;Xo95i8h?}B8*)MjyXRxmW+0op>ehuT7D*yZh0B1HM)#GCYK{976(viN$NDmV zFsAeH_6bA1jKmN-f@2ArgVT%&Jxvd>Sr%CaVtu=2g!73mkdw9(fl3$hr=&AgMF1fNM(aTi zI8Yj}fofbeqU7ZTmlK7{88DV)eqV(`U=tq|$`nCGUdm_%D}Gc}flMSyDCXgf^K%h` z$r&$oqHuKqI+O0ySlY4%1yrW?V=h1i{EQA$xybm27sca*4T;C{9%vaJ`ion_?OQ@o zX`tgRJ|re9x(B2VA}c1bXe@M6z`4=y$aE;g))y=sxFDk01a778=*NFTTq8!L;hCHt zf13(7JCj1yK)Ay@-mAEo0KcR%8k__SDpzSq*BJ6z|6oiJ%{pUaE5wtSG?A4}zu{|4 zD3>q*>C+SrUA*J1yfSJ?AYLkXbjA1F^Bht{6z4JrRXL9FBE0H zV@PR>qJz|Ys5B@MyS($f(C2aRyUdkvM?f^|2iBBZ$qZXiDJi3QGNu28Vh)Cs>ay_2r3-%%VNq;lkW z6ynezI?r1WcKFN*~c%la^6(9^*TCdi>4yb{EOW+FPrltT!j3$eU>J`Uth#J|w|oz>&m`7c~_ zdkN;LLCOmLA@1n){hKYBr@fP@%fg6h1}Pgm0WQEHHt#F9P?S^^xwUO1h3jS~m?>$<1i zec!}GOzWs+`3=4zY5or|nl@rmZFN`%D7*8ybWBm=$dS2`K*eu(9EJH#MC8f`sO50~ zWs4%kzp_Q*qN+{U5bRh3uS#AJJNumaHYmsA#~ukp@cu^C^!FbOhat&I?P!XBL&^Jb zuzufysg^c)a3RJ-K#PubHs(!U|M9!-7bDL{CWSJDuoidS<(Cm7UK~yr6#M)_MzL!d zh_n=#U)iFz|IHSm{r}k_z#q3m%lm}T5qRAHvPJX%lP$V>-FE9Qx{5~rv={lfdgWuh z=R?t?hXPEUzd%`(u9fs)4_}+y@t9NQkAX$?e+w}Z5!});=GWBHhtuz)Vvj-%8gxWz zz|sBC^+4fw6^-Dg9}5b&bqZM_hf~k~gTlolvb77}=!w-AsS&u`nE`uEoaOzxj4&x#$fl?iasy}Ws#L@pD%1(DLMji!zuv0U0kgYTl9of)iCEl{!p;%EHp-~c}(b0L>Uz}A*6Q=?@ zb%2MrvkiUGNX_0&vYbMI{#*7-%|`XjlDz_DYJE&@3!|-RzMYw!iMVP=N;_F1=pbD3 zX`dOkh+SzAM?X9)2n`k{0ByjzPwP#*REET}4oU z$$#2rZ|=yaGme`dW&4z$C%?C)<#Wo(DFaoCMln$!u-A0GZ!a+Cbs3d*JfcpIzJ}*v ziam>M6EyE_<561f=Dx$_#)-m@qJk?};HDGqHKar0d$1^F)0$(YFrDjnpBv<~1e<|# zZfG(WTFLYE-0MrD8544u7hFW$89S}-+k1gUaXHtn=TsJj3%lhlb;-T4YTI^kP)Mre zZespQp{K#t3clyc>>=PG~8BDJKfALxdR+=GR| zkKp+F9$#8smMT(<`pFTZZp7GW=+k49PlKJ}&e3@H7s97Vc_aF0;lH5K6cw0Hd|DcD zP(Q=(qd_+lPn;}Xi>9FC<6{F?VUu@o3r_lwv8qUnfRGW*Te!EKc>eH|YZpVPV(Y;I54{-AxJP)C8OwkLV(W^4RZSY)Y5 z!CmIyCM;Jps;t_k_tnEWpf6y!?n39bRx`T#yC?Z@8JCd$V4jC3=++8;InvWt z*Yxp0V$w4tNx#x|B0^x-vxNFmDfTsoj+{>@+F&!X@QwGgE%vPXL=;g$*@;Y|&VHnh zNI^P*?p+iAav*`hrQK8M*;aC{TNu=@#iQ43fmaTwXX$R;-Vgv*=r^8}PQRD(fQ`I@ zMQ^^snBV{}K%hbX9?n}bSiI=fIA$ymF*u@`X2RKhBgR<;dl$aIkME8-V5XAdWR5K` z$01-DBnfayl0Zl2iT|Kc;@w;5n_@u4rjZzvV*J%ta9gx%WV3Z>KI@Fg?wAJaAgAT| zEt@YBbtwl4$#o@1GehSf*SgDpOxobJ;;lfjr2h$eH$a7r7nk_(h;gE^v#_hyIHE&e zjdIQ{?AevgH*t4)Yk6k4aTv29<)`PJYU7zbvqO!Kd3y!uqbjwmntM_sMgu znNglN!>ntz(`#-S_A%$O3m4XvFA5{vo1lt6vp6E)P91tOr0cR5y6&n>e%n=9Sb@z+ zXR!(@ikhrs=^4{OAqQn!E$b#Usd9F8uy)|o&qYyBuh{Fdk2jCe#DL?@b~ScE(N29d zTTgmmt>>Iby?lTn+J`m+`@z_C$&{i1qT=Zviy59R;9nt>a!r-K% zGBYo}5{n8OPW2@RV1foD*E+=Q41vs%0kTwv`4~vQ93fz4-feK6@wd(m!1WzlNB8-Z zZ#{s!@mnZmZdbTzIMxzZd2o~w(H?@lOJ43Plb2}Q6Pd~VmYzKBf)#hA=2SX?T3)g&Gm#OSAI_N(M+ccWIFn^*)As0%TJmOer++$m> zu%T4Mvmair@6sa?{1c5T;tFsHDsQzJ~7T0{S^6q^O-k7 zjScnidM_>#|G(qY6(}Dx!b)T9rJ# zvc2wZVovd~@0hAZf5w0>5g$=lj)3dA*twJU5~zK4T7#1xJwv8fyAiVPU1_CcWo(bgpTBvl|4yxRIJRIJ@;y!k^ZqdVc8t(PMPC4zPS#pO7i93EmbMTU z1C1=8OreugE9bB}Fp-T*lt={TV{DsjBqk~!E_}HqS6Pt|!7CInzH7WHb^K72OT4Z6;hoR<5+w+pf~bNy#0nyO+CCAdR)`0|R?m9s5I-6GD^LmTvl7sc63O(k-8jGf8 zCSE!zda*AjEl%RL-*bw~8{f(Ilm(ltz{gc|SLZ7s6s~Sair3Yxww{)cKt%0D++2?`=qvX9mLZu)Wre?SSoil4@AUp{3=J7_>La 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⁣X!~dxEG)vm#7t}-H5Sk{q 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 @_y7J}%C@3jD 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll deleted file mode 100644 index b088c5ef7485094ce3be626e580430973238438d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25024 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 JKWhNb{{q%xYs~-v diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll deleted file mode 100644 index 328e0336aab5c66bf6e78f8932b6da67ced9b539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122264 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

k&8m`JXbCka%EnY*rG-aeO85>k>sDC?;IQHXQk zjH{&OVf$({8ofmzxZH+pteqs&BVy=V?xs-Boh(pVRs8ri7dl0Rqw8*TljzcZ@z0i( zgC%FvvUyK!66N=Z?YY{nIyC0Ry|;C2wsOMlI-+Bi2v_vFn)%Xio91Rb6gXsB*S=t- IXE_A@AITp{)c^nh diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 39dad15d57c5d5a7763590a01a02174d27a352fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27664 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 SN3TOwd?G8>yPJj<&HoEPA-&fC diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index a39b4816fb606c25a795aa5f0c0e7cd509904fc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30248 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 25f028b355a657c8f98cebc0583496a4f7e9e4e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27152 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 6f5d7b28aba6bcc8b7cd7adcd58690c11e67d485..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27152 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 CkC(sz diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 38719ce1d0ec00330bf7875a68cbf91efd77f489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30760 zcmeHw2V7Ixv+xbQND%~VXy~92Zs?#Wy-1a6LkuBcBqW%GZlNgl4i>P`>;)9Nq9US# zD2lxzhzcr-*!wrQ;?Sdt*nZiIT8ByA7qx<>GI``UE+?8xizU-(Y&M5aj$n|v@oX}a zO?L4MB*$_h859KtIo(ds{;nA2O%lh9KbnpgVta^*X~~o1F^mE&GJ@7U-tb9=_Y`Kw5GvB1j`EEA}umd@k7)A_+^;R;TY&HA#IL(QOjed_(NNE%8R;oHzDwR>xIyEY@?P~H z!_~b_54qY%-pQXznp0l1lbz@i@3}wy_EY80uNpm6Wj9&WIfiY+J1QmZi`s{#9$V%q z7Ai@acxbYGjFE?805wFH`^VD9iFvsf!Ir+^-|5N6C@yV z1-w~-$vi$ImJ-0=apJjj2CwT|0D~6E;2M)-d2|k!#f&f}hcLK2CWmcrLBY|VG1)nu z#gFGQ?AeTXK9|NaCi}-nu$Xi&Msg4*hQYRvu(qaI(k-p1w&oTL+{RX?H?nv(pBc*# zVh?2S(Yn}na?sz=1^u^U=l!J`8gp{ z|4};PAY%gekmX0xvD|FFZ5y<6FeSKWN@Lhfco%`-tplA8mBX;*(B}axq$S)>hW9RzeFJzt15CqY zkkNb4Rs&;q!gmYkI~w|`DZrXTp9+9|5Ma*%II{3P1)eoQKYf6q1)p*-)&}~b*G_of zK;{PUD?JadO<1@PVkFkZs*aCmkMKHtIfmjHV=;4Xx*ACy2f9Wg%q z(J(qT6^q3f0Dun$h5=U>jEV8EIE)2PlQCboqUY#k;f!(MCKj%2EF5!&M{M}xz#u2+ z;)}(@AQt9_aWPlu6$kCfSYH@u({rE?bmVmoa)-_g0K|tY7YhPv5YP$49S5_A!7gYp zf*c7L5H3&XfCyv&@q8GPOni5NK3pK3jYW4(feyVB2tdiuj$v+p2Oug|2cWE62$E@l z3E@Oo*jNBuc?6}uW1h7e35{ zi+RJ923!!%*cIBi#1l8-8cXz?48x6Gu_S;+2M~N9Pq17;(1N%g4gi=0Xv9`NHWda~ zA)Y3{cosa0>=Xnv6mgS>jf3tiOdv97zKDFZVEbUG*9Br*1QXbBhoEx+qhO^20Z$zKq1hvRkyt3vhuuk8007btgvV&<5g&g)uo1f230dF> z9eD&n5kOcnu*3}@A`)EyST`8NMx+cNbD%rg!r@4c&^#FM7>OgoDiD1dbi;q$&4+-? z1Nx)ko9KeifkFL+g9H;t3mOkNBC$MpI9RyiLJ4pKC<1yTvGdTuHyGB`5vK9;#GHvq zA&o+eL?pm^18e~!c~~$!K_W}<q4EjJUuhyp`uizG1-fK|a@58+^h zp9YOQFcyft|5Zwyz{HvL2KHw(?1W(vy@w&g^w&A$K~Nq_Obn?(AWSZEZi+5N8yNepbwm~=5^Qr6VLt_?2FW*4 z8)T^kW}@394F}I-A;i~hYTTi_U@#Mg3Z+(bDohyIB>>$65eGs#XOC={z!>#ZrQR&A z0bpZ#Q-OdX^NtLl&@L(QLTDYfP5H>VB7B{>J$w9 z1q**aR464@;H~jL!ucz`DuF@2m|Hit?mEoUMkgx_{JF2(t}3{(@h~ zuCXzH;2JWyqO#LXmb)T`jp~iVpIGEbSm-Dih=i|Oe$X=x$S(svQM9oJK)Ce=Ar!Zt zyE_6cg7_m61|!ehjiMbuIsA1{LKlFHOn3A{gIKG}fQfo#2B-isnhY?Sz18p=42$Z< zokYwKMLTHjy}S4J%mTeao{I}CMmy|C5@p5k(-d?!s+xTKOedc5q9f#`a&f| zarbrTLYOBvB4F$e!MZi2w^kssQ2ZkZ`&OxA7)i+|Fo?n9J4Vvt_zZ4{8EKd&iyTLT zToi-P<&fDNHaU`!z#ubtJO-CRPKf95Ib;smH=f0!{M1*pUo0&;n#q9ykxX(5gUg|i zB6}br09S4!bD8lxIuk(BAlVhkOkhUF(_j=INFuWtEEbJSXVCyP*&r34X#k|KSO(}m zHiDH5ZB%HBV{qwHE4PzV&1OZ zdNZPF^kg4Mk_!1kaGA{K#xp3SDDNK31V$s-g3M|>8&(SBi9zPTLNbAoyf_A(8O5a2 zfKP~>AfK>UaU3p?PZKN*d@#{;qBz`G8kxsnG0+;oW0E@P4M95+4K$j;11>X2T1dT| zIc$`>B--QREB6W2NuWk*qFsDI(`eBQo*ij8Km;um$_FA_2pdsG2ovaN0`QhXT1N5} zP~6Q@I*ki+0j?t9iUXOXf$|9E+Nogzi6Vn&ij11dAk$d%c;E+z%#VjPK;sc|Lc*9d z5HW-snuQ8Wd?!zjhfcIkW&-1xJ;;xXXE9SiH@cJ;ra}S5AfSpE0#G!90bo6lRxr3+ z5FCNlksa9}+B~FOEEYioJqDhb&m^VxKm|()m;hZ0p&&3Fp}`R1oJu1{GuQ$xjAt7# z=yYNkL21B<5Fjb!o?;`^!2}?vG9RW6#*)hcL7GX=U0rU{t=Hdt%0ln5x?37rj-LJkC3Wph}3XoY14lK@MX%%+>r5@}4r9|%cA z_7Wf)BO3~`%^?f%faZ(3p&%MBhC<2``&XukOgDJW?wNuaNIM?C#RJ(4dZ8g4#=|2!}@_-6SCl=2Sa!chmr)OaKRG!DoWT z6Gk7-+TyrO1|RfTgy{mm2~sZFCMrwFUx*APTz1cO6Ue6qfPlDcn+VnsyLIj0WD2`@^TN5+ut*&51BN z5_j5l#2hZNk*w4E|J3WLOX75~_RW{5tJ`i1K$!zEIr3pbJ1S z*>qMs93>Gh|7Q(O;4mY5vj?>jJfb+GkdR72bQv1;P!^cJP`ElJ=NE?LuUU;=%R`tV zGO{SWs4z1$BE_RMvb2CTGJpVqh_*nfJA*nP<|nI42rY-Oslv#wr?4S;M8=YEHJwqN zKvQDDM#2MtiBm{?LahKTz_%mh3|70_n+pU3ddD#CQb>seR`b6Rt0#yr;j~fo@q5H^2(g*f-+-79qTkL{xbL8lcmzhUTmLbG z35 zP1BJo3+!X3IiVp&lR^mw{JDUEJr%LZuovk>3sB5v5=bCI5XLoB*dTHUz-9ysQ2a^Q zR8bIco(%y#5j{dQs|{eZ1#S(3a)|oS1f!YYI)sQQ=m;Fegb=QP^#pXCimMHgsWyeQ zj&Mt6z#2k;(DtqeNkWdH5R5S5w4a?63=t&>?HM36M>}zFB7wp^i@=n!IkB)wM>{}> zG0;x3Cx3cCqL4O{I(MaA@i0Oz;=m)pQK3oyazjd3-p)7;b>K7Ds1$&(OlYA6KBH^v zX^cDzY#fN74_E+ODCDxZ5Ox1L@R*7)R4R825JYJX|78wY|T!d-)KF99n^ z>k_t~$e@s1JVl>@x9+(|`7?5ftqFzX*n5}9We9f82C&_vu~P(_TA?W+*g$p_?xK(e zXm%4KM2f-_!FH8GDkgP5|7jA$0uo^q;Z1~Y4sFP|OxT8YZZTm~EJ!@`S}-RXkI^L$ z-K&QL6*hg~4M7}1NO+)VD42n83GMv_F*3+BxeFtOWLGfZG0ErG96g?8pK`WZr9`MCF`dHsW;8bvQ;M z+PcIIREQHDjq+)rbi(K=N|3CCq#&~JC~`)26Sgf#U_cBYy(QvXM7{XLU{53!!aV_# zoxq?IR=>wqL7>%)XkzmZI*FhQ&`brB75O_#D5QwaDgV~?0(`SJLKq&!W z0nC9;Lumw%N6|hMDC!Fw<3z%sWCUJtR*5B`0ycBlJ`#0il5ijcbrA4aXBN~$!RHI~ zJrLr0$Vj3waZu?1$HACRa3Gch-{Ig2({T^>bb-(LaNh^@cVclO;2yo8;)5g&M+LIb zj(yfM$58Sez9JaHPvLiTkKRymMG|~UVS1PMIM$zx}sxKb5+0M|jpRflL9jx|GzIo1K! z5k$K)v`C~u4H#fVFN9SW^CK-MLFq-;i-bYx7x5PKSS28CBqVL)S&UJbu$~a>Dh7;V zfv*Q2j|sOWK}A_TAou+~ucBkl$BeJ}(=nMtDU(75SUg)|PM6 zUM!pUMLdC(>Ah~{kbNVb=H9-3ui}1gy_Kq#*m8O9$WLiGv(GdpDla=Lo#4?Gi4OVnb~4!v@?tP2 zEX^BT1+R_hJGt}brw?KMad&e#V0B@!d}vIzK$jQ{3K9wQ`k@DKka_yQ*FVAm62aX5 zy-K|W-Ua_fJ0ima-s7fV*ctE@!q*vb3-}rW#a-cWb%h$vK&X%MgMz+r`1FOkKtG~u zxx}mQ0z0Zm*jr?MkwG2Z2?$wUq$Hv*7q}r2HBa2G`a*Od9tFq#=%tHP2?_vEg(n-1 zh*7DWu;hX0fR#$<0<9#V3Dt2hp;z>;AQ63VD7P2rW0_w z>%9;jAAm1BMW?{QJgQS*K%rbD(1UuS+8Xq-0I${!FNA34b=H-j=TzuH0nCCos2#j^ z0Z&Op#hCyODxYHkUxh`*sICCfglaxHz!^S_4k2m{;)$MU=J7xYs$QXVQR&~wE5u1I zR3%V;nuBmQJ?B6n=7sQdmy1#WHmX@hFAq!wXcg9_vItJZL0J&ud^FTN@SzXlPR}+n zwjGq6jG4jAsYKoQeqzq34hW4ytA^$*TnBU)3%o;o|DQB>BrAgQsL0NWq3%`s>oQ_P z$Vg8(KTFE5?Dp+#YMOBGt@Hi z42eoSLwskxxEM)HOw}C7Ik0PH?7SHLzU~CA2XKWh!bp-pLLxztc(8<&s#tI!RTb|m z1vfIPa-lTdRM^w7_ zsuDha{sB}2Tu*R2gze0Xn+hodmq1stYoM>4lZ~shi8=0QVPZ|Su%PPUI)WJu{^g7U z8QcUWoq=bNv_&~glElO_NJ=0OBssAR*t2h*VSZ;+^PSSix5dj-jo)qeJftx!v+cGq z>$~^8%S(5D{PyItZ_@OGl`aRobfT=QTz1&Z^L%DBV)ggnvia=X9fPiR%qHKv63x># zV$WQ)r&8bJ=30*j%~PUJN_;!}cuBl^^SNVBs9DObF#}p{u0Ps0K#jVhrD|Gk@%*?& zXZVW;kMWBiom>;xc=-4isoj>d&ZxvzI~VlXc+dONl=0Kz0{e4P?QWc(!_KQo|2Ay8 zOkJ%^;)&XolXpExI%GY3gz>9%`@z<12l@d<_HDJTUX91wS4+~4X&zC?eS2wFUSwLt zg}UnZix` z33Z8nnVQeY7H<;X^yja-`YDRToxs^YsX6G#G1y%Fj1>1B(c!eo@d&% zj7TmCu>`54Ko@+RlniL4q@*;7B;k#Z!99fcxLDT6P6UaGiN8X?;Qj$*KCX)B)syIh z%Lze>%ZQ2#C?tpr>{`n{fAySzy-2$-_3-JMv1i-9SWFD74auWD@$r2=XKrwf<{Wa+ zk>mrB8?<%}n-l+IfJ-jV@c!$z@~BL=W$(9h$v4amY~|t;7Y|b(N;CRYnWT%ozr5A_ z)X8;=4#lXw9>&_M7k4R-K8%|+Q)WQast4P?55E3Ra@*s&wIAkx+2&?6K=o{k^t6Jy zbJhdyrE+zztYfl9tFoicFE(FMrBJ=($Onv3;rv{`bV2*LNiPr4@M8MuyJ`g#%L|ES zW0Nv1(_0er>)H=e%%c~N$T}fb{?vPePr04DL6MGxzk~s!J#|#o6K4J1jh-ys;lr;x z?|G^8v|`rmb+sehuN-n6{#?fq%vc+kvFqJtjO4I-`^&hH@3qnp0AeJEpSXr6|0Bji z2iFoP{lG410W$~Xgn`UxHW)_{LuNy@f!#V7Gi1oDsZ`vo^A=Cf{6}c}$&htgWbxlv zycs8W*(`D@YC)cWUHKqx%aEO=Wv+nsq$4JSfX{ z`)eCZ^(UIUzU+y)CyT#2Jfwm3aZGOT8jtfj3(CeDSd`~b-PbE!avbTiZ6TfSGcF>REw%fu^27kZr*$^a| zz09$~$H{CD>?ROP%rd@R8{o zE3@BbWLaix;g^eEfWnt5e=Bsm@gGGyUYpug560 zYP>gCjIZ8~w`b(I*#VmpeT-Ha%23sBH?a9T&$Rfe?OiA7;ycjO(|A|%%ae2c=CIvg zow!xM$djpPl=*IRdC?%P-G!S+Ehn#kw@Jl5Wqf?(t2;$==a{L8iA{@4ByF)>TlTWh z(37=G*UWI#wnb6KU&L-@n(C}v@gbD)qxgF3SefkiH@=;^ev0h+&Dqm0`DNsQ*;9O* z&eR0@4*fD=g~G&(x|uV0E!9qmD&bW9>e5Sr3u!?gPA}oEdtG%$pbBhT7+>eeLtj?3Z6Gu#uWO$u}g! zaG0doA+MW$^r!VE5wBhCpYD>u-n$iSyfSgIeqc+=jxil>b=D(oHttWHv{_^0k_&y8 zg^aA&B^xe&RcOK{g9)2}D!>->y)7uj((%Xdwl`+L3#9+;1J=L$n8s!3W#y1z^{sLR(iG%sfcg}ar8vWO8S(m(XLA2>0*@P7f z5?U>=Vjj2~?jpPgD`xZ8teD{R1t|>D7l7K^eu${aa=Q!*&J236JqA7cu z=ZELv@onBCOl~^wmj8aC)r4B4Q#-?dZJJitE_+k&qlMc-)<23nc6k5CgA)Xp%x<# zhvc>g>dYNhoH2M+Q?|5bN0aZz#RWAjs+(8%o*z`djGHrTdTidnkAvF-Z$#H>|CpqC zv2by@!Mf!fSX?iX-IkDTqW$;U7wSidJeanej zm)4$>eK}Wgv0tpBs;~VFBaijmD{oje6))n7LRW^)%wCc|$U}U>hq|I@IsRs=HWO2g z^G~?eDsMS^M@DCS3fQ;AT%9pQap8UC2a#_%m)x#h)o4vVBeDPL7vqMZ3pehP`=V;# zu)FzFFq^FOS`ocSo-M;jd1a zaZ*w%r76eJfLXa}Sx)tmTX|Z06eg{2FWi$gHM7q&lVb@nnC9x;9qOs?)iZUE%&(ia z&7EqRd+*V7`p+DZdBUi8B)?< zzh4RMxB66+u!rBo{~Pujx5h2tyxPpt9JfXGn@Zfm5jNcZd;9%Av)-EuSbH1pdaN8a zBZe}dvApR~)w;1d{<|;T@9(Rt^zzEqE8e^LIJxh0>FYr`YM$AHoL25xI|3O~)++Sk3GY{sTJZNW+3Nx7Q-GIKFy z+^y}<10AxaC3q)XafK|el8R-Puy3$6D~ zu-;q$$a?>BC)~q&D|Z=Tu-;(LF+6=OvaLE2>C5r-C29SBWqu3j#k7AsyvR^a-mP9R zCV%s8Z{E1K(yA23{~D|Rm-gct>Q^`hm`4D@zxc?bhYEYy#Lyqw2q?iLAojKcz@pwOJn4? zIfn~u*GHRFja7UWF=@2=+C}8iP0|C+KGjmkBv9>#bLG!Ji?jbRS5CFzv>a_|`_01| z&wUrouCg3Hx#;Bc<1^)*Qm+MawO-;i$C4P6CXzJd`YG1m>9_XX$RknX%1lh3ewv$A zJ2s?cLtHj%m#z1;_sJ)B^iPQ}dR3TbWFeI}FrwOiNbJyzcKLJ0$LgHR9)Ef<^T4Cx zZG6kazE#t8RP+<%M+PjOKEcho-|@1tQlIGao1A{6C2OT^RKufMoKz+cJik#}>#}p} z@YZ8*J!*}w-7-t_)*t4f8$RJ#$g3?6)@`V<ZtM!n)6g5#q3Q=#xFbEto8UnX$^gUQjp{| zM~eTh?9$CiJInG{#}B-{a-M3uwyD`R8Fv1}#d;_6U(Kn}y77F7Uv=(F&xapK49)`i zndh13pRk{8U2}~;-p(Xg9>haHr+Uy609Cmty=VrnlWquo-s@flD#;n+rO8X zAkx3R@+RHc=ll#(B#PHM)6}x!)IK7~X9>vgb|Jkuuqn@O_V1clwVvkSe~2H=4ype(;ZPHu<7o zC3~T*m$I@^|_x zs>+-%{XT8PI5(YxRVVK2el>itO=b1iw<;^s&(~euyx~B@i#034N=jBRGkz?QUbjzU z$>(K{lEPSv?r+UZ@QmA7kfHw$&k)n?mLVx>hL{>O^(EA1>Ax1H{QAs9L}|kC{@qlI zQ{}sEq)DJLT{Wl zgORKZIvlX{9sLs9B;u69r}NH!p=xH2Y~TC09DB6gGCn_PfV=ycBO^@0H?6rf^sa_; z4SDkRQNz<01va!*Nd{&gH>q>ay){6b`9pnC%CcPrx1&}`o2_;lKmO2(<74$nw=~SF zRGwXwm$?;@_s&SeWbU>%Wgl&By_+??<-py2L)MvATX=|_cOR1*^o;jozWkQa?~nWJ zsV>}+@mW6h`HK|Y_u45EijB7QC&XsmWW;@_6nNRFBJVUp-+lWYzs2RFPpzS~xuhIFM?iOe&1lge~Ar?-_@*pw9CB#78 z@JZc+;fxLCvVMEUMr2z=#!8U6W9>-sdDJZjbZ)M}nmm_GbaLPg;8@C9)`W&%YYcgq zpP{e{V*kDn`+w?AR%1)&ttbv17+y1q*aR#UT~&D?Y1TiI5H`g1A;^P7&(Q8f&(Fzf zR8dA19KC^9T0@T7){H7RdNb>~{a=!?zC7=m)9_gvZl6uLR#^E+ZDoDnh8&IR0ISbI zCwD5Bv{pZ@)eo#Z%{v);1AC0!Yn>KtfxlPR*iYJ=Gh@+_V&f-^MkK%2>65(dO+bSK zY4GW@;v1fiuj94enr@rdeo1e2#%2AF zo0mQ=XrCOZ-2Cae!P$<7GM5!PqEFrGF#WRNj@qX^N~5qf(pTh1#a&C>$xU)xD}7j_ zws3Fwi}E-A(M312+v^tvFALm~v+BvdsJd$Fsm=6rb;1op8o1dRg6xVOIxFjvcW)Vz zFyA3An!Vn6{zltAwfY@PU)Q#=Y(BV-xxDb$U(a5f!>_r_hDYF*INge2ZDMU@K{bK% z(I}G$x&;mL*cLWah6U9!61VA*@$q0sKK7Tqnz2K}+FJWS?6#VCv7FzZ-~IA7&p2N|_1h+Q9ZHTN7O*m`F`UK;F_*mgRWPOC`@!um59^w4~3O>X_!sMD5 zRI`a3se^ipXTUDNWr5f(X5gDM2ajD_JSFgH4QrbxGwQ_VT*q~Gw>H#=ijAH2`DEVe zyIb^U%7(PuYtxHQ+3X&$ZHSk8;G369xs?(*Mim)zibJSh^B1njIdF2qrR}7lk!}S~ zYF^*ur=DCXGj{R}bFs-|N8~-eMF|)4mR`OfsV=G#vT@9>Q^c0cZOp#Qrd*=r{T z^DdH8i$9;gd+V;vp!UA$Gre~N{B&G)7mwmOOJ0K&(>YJG^0tD zmvP%Nvv$+$D-uiRA8yLc99McR_X+iLw)@hVTbg{6-`u)7&0O6-?zPjgwX&^0YIA}o z%A8youubO7>z3C)9BzKfwc7CQ=<>Ps!K3_lyA6G%*XQs?I}Zu^tE9DsVd4s6x9*X5 zJ_$MS;FWq*<;~!XA$}Q2)f&I2iK`1O+Irr6R2}~iT;@0YZ9%?1C0!j~0 zITLVTOva(P!!XZb`k4k393PZlkMcY&zdk8W7LxhWDUj5U5GI5am)8@%K>R0R!PDpe zBhCPl_5x>M)a?v@pY`u{3sguR!9k{_tsr$|Mch)ME(20W|F+x85bIrAA%!YG-y~%>jeKDhox)=N_ZZfUD;>Iee0OBD!1g@ zZBDO~Dm`y|oz#!&bajD3a^$>O*;8~`B^y20w@#g0-;fu$PtLfqC>Gu{&i(8hr({1p@_%tociWM>>ImD1?q3zjy|-B+{KQxOxlu9 zS2DTkuqrRJ6EfcrjyRT%W&8+$jX~yq- zLsn>6>Q&mZBWDL5U9YrzfX!uuN@tTiyS(OYXf z#;R_{-j#a>>ulW~^@28ZTBD)ohVc1KdSO?!yha6_IS@KpSG@g7%0$!aI*;PQl*YOx zmVLw;kM9!82)}zut*m^|wP3HOwgpP9I-bY-A9k7H+FVh|O?k+Ds@rhVZC%x?(}P3r zW-fW**6HL(+; zE_XiCPtv#X+17K^D>@4-@CnFU43z*+g!|?Do{guk=t?b8#34?^M+?!3 zk<`uq2pw|XksLY?3UHY4`*jr5i4oL0}QPwun4 zf)P$J9`&)3dnGpW`-#ylay27Px^FLf!@NsBscpG=O&DX&@|la={DW`xSvjMApx59x zBb^onTrT|<^JtVb#VGHI{h-a)4rnH3+cvdER=e0IrRcm-ow;Q>KXb|33;JSi!%i<$ zK32S4vQJ*y)X!5XIr+mz4~rS+Ngpc9WKUSTx;gXhsbz26hClc^;&Qp=E4JRA$0Y`B zm+!w(ELmr`X04B+y?lqvf*V6C&H6XBSD9RzxN*Oyt=w6;(`R?@dA#rTUA6gRUB}s& zO*a@gd+%F=j}MIP$jr6-#xI!4=4?I0uXK=<+Cmy;I4Wbbs!x>ssWP8;jmu^a=BUkd z-J0;&VHl&RGAtk>t5TD0wI-|K&YO=N>IJz5jTbksx%@JW?)Ye;^!ju_NX<~s!86oX5Xpp`f7@{h zatgoL6N+p#AsLqmrI&KToZ0{hDkSbn|NZ=&Y1jT(R)VT6L0;Hq!mGQj-SFgGkzbX@ zIfK#-hZb*CaW)%fWS%mm`t7U#%hmlRSLZ{W_OW6uW_my)E^5d1wmBhcyeVeqT^9{0 zy%=hgbY9}jt-S@+V@5RkyBIE0)V%Uzc!goy__xkd0b^6`7)d@BMe--hZ5EHfM<=%3 zi;&TDioSOLqTKoUr}9cyU(`M}fAac0@=6&ctbIAs_iU;b8c!@3yQ*NOyN{k#)F{&( zS2u}Ysp-Fa=#v*igLUU_^SV%c$B=hG22KI_Ys9j-iYjvScDj4GA9xG;W| zukNCB^^23Wiv7}x6)(h2YO5QQQo6FOY+Rx0LGSr;8?H4kG?aa(oG-R6t#R7N1#Q^| zpZtPl{j19N=h<>{&T$hh+a*6wk#qU*q{7?PEp@}J;(`oSPdr1_wQE}`E)F>uRZD22 zcF7pZ!Ki9O(-1L|c<&rc2FYGZUMSkikcP=18AEQ%5QI(_q`VXKobhtvBq%`YnZS`C zw@!JKS#jp5VN;*mQ;tktmA=63WlQ9X>9tbU4XNXAU*?KQjn`{m9ctWP6&$2U%8g=e z3u!lLK#(RzdYhkqq&WTHzg|{sZD!+Q;%s5*X5wb+>hu@Oit{rRYaz`v9qJ;-3wIQ< z>BEQ}h1gFH@PE#Z0`Dv)vWA2K)!fR`5*|6QZ@++cg!AC-z-vM}F~DbKxnJ65O!YDjuc~}Z zJDqT7RMhZ^?P`Gr64arNg9hekUXoQ^I)jFf-;28_y`D0EPLOk-n?8qaWXhcGuiABk zhllEC6uBx~e)i5i{o+a8DQ4rQxOI$k&oY}cginiJ5uP5jw{Dg9%8D~v!miL%*@kBa ze#%Na)P)n!VdPQijP<+wb^FtvEPe#<}-%#}U8`uy> z=M!->s>e#t!P8gb>C1YA(&@N;S0qe=f>%Kud+#)rzn7;Vj&}ABG=+Z{hz9?J$X^Jg z{d)w`==X}~SDb$uNJ~GNKUSgX?8CLA)2EBuZzw9z;*>q#Qu~g2qE51D`}fbGu>

bCcb&~vhha84}OzqjN4>3#^76UiRt%)kC&PsiwMuX8|u*d`qH|n<%@qz ziBHomRp@w zT)uJO9to$+!w1sxv~9=-^d3jP`0)1REc$por4)*7XhPxi9a0OG7N{SkZS8v@_m-l2 zZd%pli(4-W$88=vKRn>h zqQ!6$x2Ip&D!a?}*o(6lZe{G}UetVhcrIy3+Lu8Kh6UN~n|SBELh!njdAt!aPu7|| zTk_DHqGI&!lxdKG)`#=EeD4?@-n;$o>U~?C3aje|IQl%y`ZO%JsBaX0^%&pGtAU>S zZrwuDLFcqe#vj;o&t>Eq|LHdi>Z^huF&~6hTzP<>`d0hI=ZnJ0Fu&FfLk8HG9t(YnhsYegV|Djx__7E5`JO7^aPGj_#%YnWjeVAqQ?0cJD{Lja z&%U3%&%bNZMSoOeWl7ZH3x8CEZvS_B|37t9YsZj|T^aXoHh+avYXK!NtizbhQK95r zy_u79Zv$t+48@o@BcD==l4Z#IWnx|*X9UOkUmSgIM^cBf^fu`j@nc_yx9`x~aR2LT zdYmqUGv~9H%j8R3!QXjzZZty@~IlovSqW$VkuajADkyqk7p-N-|CNi$R~j1Io^w&aG?5xbEMGYqbA zvoDs6k+nLj{UVH4Zr7AHQ1e}RV%!pXTGYjC z`X^oX6b^W0aARE7(UiE)ru)5`r+e6i)*tv$q&z5BwlaK(YzuyI#q*#^74qZ1zkL>9 zx-G>rX3D`#8`&+n33peQ-L#yyEz)k1RGqh~!ddP9hcNo$!|{7v8@IbpxclSlv4NUF zws+OSpM*ABY)mr!w*MZvpwtt!rrCHkhX5?H9V^#u@7S z843~4Sut3F+?@Iu(~S(Yi*Knaok}^s;l7>ivj+xJ_atabM^2lQ+u(aJx2@E>@$=Xv zX-<+`^xtQ4NKXnf#N#1*97d!G9u@pA-XIj}!9NHj@(WRMHLUzcRStdmYt{8rZVWh8 z(t3E~5VB@|`e{7k z+T~1Bx$r|+-t?^_Jv`=nSex9KTP1g`!jSw-dtq2pAgyq!@5Nmwp2)|vjO&B-Rh(8X z^X=LFJzII%nr71$<(cbNE_nYY@vX*_^wimU#r>XU%j>9EJ?-Ks{f+x6@&ZPb;yu+EoO z^k9Qn!r_Ha>fgxw*pHupzkfEQX3j}HqkPF_K5zN0{uOh=zxplGCrh`;%5R^Vd2&lq zdyq8j4^w&m5z`kwC)4yl$DejLmM*+nlN@YxROZ#9;W={|;_>96Pi__u@ArDmDzAYHJ6aCaw=LHA zR7qNDUM3aI>AP3Xcd|^wyCqI}pYv~L8ZDY-X{(s=r0lthp4yM739elAguH-6itI<% d{eHVn&pR^X_PPSEzPkcL>@6;=Ct_v{`+s9i$VUJG diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index 085dfecc6bf870436fcbc888bd33ceed023cde78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25176 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 X$6^+qR@ur|1D|}mNV%b(IcWZWlh0jN diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index e703950e06d3017ac54ae53256b70228f8650370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27152 zcmeHw2Ut^0v+zj>RVjj^f=G~#5Kic*C|yx0Qbj=w5Fk>5NvMiKRO}t3s({!Vf&~kr zV#5X&6f1(Fpdu*vD%k$n6GE|l@BRM!J@0@2=N`;CXWQ)T?9A-!%qBX|Sci#V7)F85 z_wN{13Qu%d6Zb#glA%~e^@I#|Sn|4BDQW6;HP0{>mm1AshjJK^)F4Jw6q`p4WKuaX zQB+nG)!x;E8p#f3(xj!OG`c~%IbhgSk_e{ym!Yq)x2G6cZ2)NihK+(8F+uKI8+cOT zGaEh_CP%!J1$d(jggpCs7t$xd7J{z0Ah2CPWC~r3dw_ zA(4z>1BH42l_wR$B>L2sfb^t3X&R3i&x3S_8r-0a7%Sl2_o4z;G!B;&1epYGv*85| zR7gB{MVB@Fqj8uKY^X@!nhco;mJWRST-F$7+b2o9R>Szwg>WNdqSy#47&7!BN#tT! zH5J30Mqrp5Jd?Zg{`834Bw4zpvS@VcBJy%x{Bl1=Wogp|x1cfich`k^?~A4EyCkBW ziv`6xAI`e}HcGZ``|@y3O4f>0lNUo@7t?I>a5b^U*`)T!v*|^?dxMUb1~m_*B%VLJ zqeC{W^}btxDOqem;MleFH#)Ss?23=ple z!zaQcfy-k?(%hL`b_^$o$?bV_XEK7B9DQmeH;B!NUV4rfML1)7^POoL3#=$6JNOx(g!{pZeNqIj%G zrm%MpCJ)VvQ8xwMZ0ylLmc_lTG~+Azg>UZ^6kbl-?rFJlPpp#s-pQXv9I(6j>_qUV zF_&0Nf-BV=5-YLyUusuh?0Bf8n*LN@_tw)3_MR^#)r((x7!7`9DpuG!Wy6jSujd@= z6q$eI>wq;A8^o{oMjGK{fcCAO1eVFfoOJn_aG_Ulhe2!+cSzTw0CexS&-=;C= zoqNZkl%9yOtlyascw%l675K&!wvcc&b5rba_CTC%mUYyVcMp1tLhzbZPJEG4Yt5!o*ogb^(1H=dd_x^AlffQqYuFS$h;Ezclg@)`2Lyv|u_Xo6! zp!vujoA>YGJyf9ys<>cmfYpot?~u}gIn(%clm4*NdMkPWEf9?-0?}gO8HIU6P6R

;f}0Z%l)Xiz+;#D*$DXlR-|fO&utTw;=gU@Dwo)M&&!m;xr;!=OnpCK!VUz>S7K zHUSJZp99TxY>5Ge!NjnkYc%bMK?HqqVc?O_ga;keLuIo+R~C-vNA3{^d9e6!xUiw9EGwSfR7NGNVN!5jVDYW8e<%Eo)6XZgaY}m>D2<&b^0D5MM+A4lodsaFi>UT1R+~0ThF==>TZVp8+8~ zA{4qGn-{_MVFc0~h#Po7?;m;i3oP=pyL$`)SqM83vIFV>@#I7RftJ1>yXvnVGXaE=5QHZ*LA|3YeOI5Kfqa2x z*8lZpXjmaYGo-9}n3W7@tv>%8w?zTR!+pch;~}Cz>k0G zxi7CDg32W0sSGNY6~$w4xh!fhGa>?#JPs==ltB$UW$D;9P=FhC}U%IbkC#F;G^lAzZxz_f=BF;R$iFf?NLRDg-FA!uNnG#v@Q{H85TnqY); z{xm{HXejHyag0-X`y!^idp_sJFe11t2Jk5p*pde<&^_72V?Z`Ni4-$cyN7of+=Qqgswb1nb7u0w*ukhA1v1MCg(v zb-H`eC7B=<*R9jEp`tcH(;juxN8@P&2yMW{D2YarM6)P>>Ei|(AOcaF%j6)f!6G0C zh;D;2c{G9pxP*oQkw!Fu>FF*LG6+aFA|sl*2sR^_Mq+`oii(M3azLB)(iM~;(4}|M zkn%;!l*Nr^M}dn_DC9!b(WC!3XzuPA$Tfwybt`jr@i@yb}TlD(Ui)8*w2H-I{pqhzg z3oQ!09Ma1J<83&hY{6=S$O3wZ6%5ObV6Kt00bihk=$MM)ZW$zW6^n|PkVYEg0);R* zpf#5j$bv}~suy4mSj&Wh0FzJ98nGN`9pFM5$!e;$uo#wSCI^HGaE$>eWKlyv(t6~s zXLXKdRUGfekw(%2)`|v|70HCPliJJnfQ?`nz~-o%2~dydTd?+ngF2eSV)82TkX#|$ zp%%f_#FE|14nz@>6XSktf%q62_ORs7+<}+|=CUurdquK`$w6OGgE%Z0Hw$6kJ0&y$ zL=LC#!vE`D2+i=b@b_Vj-}bVM)IDT8AAGk6Slc3h9Xrcv!+ z&Qb0!v@s%D6cd?L3^XoA1n^dWqvj`Yq{)3SVNgTCzJj4M1ZXgbm5`8P8r1>pias`o zHd-VF0*)q{Aco_=W(uf5u&`j^As8FbMQaVg(gLPYgId4PTQE9-&BUgWYRJ-3RN{iV zL2Qt&7+A3Z3`hVHw-6QwjImzAf(a;)m3{^vjq1h*dod6et8Og%kdMO>Py>J>fH6@$ z>P%?10xN^r$Pi+}j*bSGHL|cGnUR4Y7STTd7u1Ip5-i~mRul_N3}pNvgDxlnX@6=U zg9{4SDGFJzT%I;K!C8@P2`T|~Vf0dw4J#I&r2D_L{9Cj%`=u6wc~4~haajlimPT_*EZRL%CR~nz zcVc_kwL9wJ5Ff;hMurZR5O+ai&~3z~CYV9}u^NpO*hlOUqY4)gHV;fQB#s2@fFePr zcQ=>z5&6C=3XFvTwhF>FCaSlNK=;G?zz!xx0>+)d(hciTGi+)^Z~b270xU+X9;A36 z#J>R0uSaUHVbAD?3pE(*Lv2R4(aR>*o*ofIqS3z>8Y%MUo_~inU`s4upf`Jm(05#f zdUQrgnV=9z1zOz86 za71BgsXz2&48=B4VDNOi1(5O12nq*sm?S~O#MWc7EeV5I1zaeu8jAvh#<(%v66J`3 zO9FhPP^`WH!xqEyDSG!HjBqZh5ezPUaMWSyULIHkyrVF*`a~}$dw9-=GzHbSjbH~t z8eI^OAc+r#SQg}CU7E(2B4ofTf+2hg-%%QUAlgO}JjF0gOaa2>w!}SvxW^Os^~C)c zalb{}Ti}i^K}$47No*XZiVY&}!-=~Zan~j8bmDGF+--6G z8hZ>m#@K7Pk0tW$Acv9+X9b`~bfI1~u*sxU5;*L8E)oVFKjI^(v0Q-MIA?ZnOaya0 zCXCZ!Jweux?u`|Owjhy#5ec3wUIeqpO2KGBuo(9g+B3OeY!M2ow~DZ(9Xm3b5tZu z3gWQ2><}K!o5h8lxCbvLn8l_c3(PHo!9&;(2}fiP$FVu#a3nw&^A3)Hpy9vY9%F&a z@%PO=+3W}|%?nHkgbcXVXu^0mm)3)gKnx-N&f@hV1`{qqB{-n0^4cT`of7Ar-zv}W z&qiio62}t#yoZ}ST|PK<;z`Z&3@7scaTb(@T2HoOvj^Snvz%=Xr%cfo#B2W~vO zH%rGqP=60oU#07=70;h-(D-h_tb?-WH(6rz^gX|?*icNfVsn)6NF7%AngQqN5QEZtc=q7O(5?wgkC^ef&?umbOVBkM0&B` zWe+J55zFNO925{|5&@bJa1ojsp>l-Vzkk5CqZUh_Y}fL)ateG4Lih8bJey$Tg36Kpya$3N=EB z{!ox78X{?kDxna2LT8E@;urbaU$ zY0)Q%ro%8nHs2Cf@>4+pA)hszi{+|k6q7`HGp zuy=5@pljmlf)S1Q<%m3(oLKOO<9yPnz7!^jVj_H!EHDH~ip+<-#nDs7Pc_%<=xmc4 z;xf-?w2o7FN%XpmF9){zsBFl|TiQ-9ekHcGXv(v>>s<$jzOATud*X=fuusK7jVa#Y zUo#zXS;;!n8+%8MkX<%iQFrKx;f^Ps@7mCOPGpGY^C#3*b=O*-MQd~()w(McT;#91 zVd2&KWgAaar)DY_KbT^f@o88*x$WAvm1W~PTA~7i$U4(JKM#lv+H!d8l1H^QL5cOJ zw?OYgd=9VYiPQsA!NYx83E+{q_%y?+Ph%m}hEV-y;J@ zleY0ml0XqrTm?v~B12K643;5%SU9#ao;=-g?pVn$*)cw;7Uu~bQcn6AZeo5!)zr>_TADHrxGW2+m{nA6?;$2q<>%Jv2Iny{)5+wa@x4YLmyPNUfMP0 zQA^Vy^0*iI6|q|-=(ZQLPn|BKnz}k1qCm@-v3lc?O+2^3+Fa`jF)huRhy+ zzO7C3RO_DU?M}CHF57-zIIvzp%w+OBoe=t^O|yq5T`v@!S~TK7SH)a6zEXkP z?F$1=rfqu==F~PitD)k=mEdvY_~yGE_fM>@l&`w&_^4_esIeAMV>P{MjAXrO_uFXi zZ`Z`ZFv3XIKTr)%_>U+HbvQsxs4=A;ZUHqH%%pm-LZd)A_EBUObPL#MfHFgh%$!cg zjk=R~%A)@WZa*lpZjCJR8;$%g71P5hE1N~;1YB13mlCynUL&)i`h5M$rb21a;nUBI zyQlkj`LVF5DO(qu$}aOvwcP#A!c_5v%D&GB!XHWEt)(ODB0f#d_R5%aS$%nlueM29 zI(=fU>!qn5VA=aI-m z{fo-qM_calFZcTP*s0D_G;ObOU11V^hjW>Cl_EWC!s74|k?n75@D*>F%3F>}jL==M zvFv@4ZLGzpJM-pulpdeEr6R3^pK8kA!7C#hcX_5R*`|4V&+=IfmH}EenMzNNzi?a< ze{z};dE%SrovLM&X)!P4b7EgF$rwCJDqrCvL#UV-Kq>!U393jRZI#>D6v_8FV6O4x z)vVp;1JR#Bk_ygI1q%B{nS(@B-)G-E}@<5RPxRB>-q zL6zc)gAU9C9hmCyU($fU%)rW^_yTYX17o@Y@GMT~z!^dX1v=0L2Q4T}gAN@3_jKTI zVDo+uT|(i7KlgriPeFxh-5J^Z#O0y?$cqtL+dei*CJ+4XQ-Ao*{Z7A0^KoR7^kIH4tZAMmk@nZ!uV-q` zP#wP7Ik_gh4IaL5woAkLD;_SYpJ%L>o_Sqk(R^-GrEQ#i09~uH=!VA%hUdp~t2tTk zE*w=^uxH(3%9xCV{j+ht=qXTmg#v{q#W2=VBFr`V55&R)2n$V0a)Z|Ljqmk?Ny8OI zV0EJpM}}jcOv#?bk8XgEMvNz-pwX+t+}ZF|B0F?wg$Pl?v4a>mQv$)$1i~!CaSLO* zkr8|m1DRz;-AN;q{3jLdzp|~0Ilg|w@!)cm?AcVRZC0#D#CYYq>}yxwy$b)9p(yvX zZVYdc(lNt4qc`85oU?UNui;=1O?{-6UpYW^>Sznw=R9Tg_OgU2b8{w&KlrLyw>f56 z)gG?>!h0zX+sodY6;}E=JUY1F>ZwjxhSJXM9Ip4fp=r;*nx=8`?#2d;jB{AD#6q!} zJ5%&TsQc>e#Vo@I!v}oZz|(DrHS~Nu829~jYjxn)tCazcbhqQ$3eT?L)R_m_kTZk?3bMfZu=!qH~n{v-J=;bYgz;_N-FZW4ce>vuFxjA!{mPb?Kp2_bW ztIWq)Y&jg~w|(fA)mI0t^&WS2pJaf@ZJ`RA1uAR?E{imS0*UmUB8rQ^qmTOfr6xgU zv5G8(0y~FPTwYAFdt)+$L=hzbgZg+gdBq>oaGM-9=~b7*^=tFpGLzN(_gNWEJyEdB zJNH@i$iA8={3=Zq10HWwaav<= zdcTSNh_`Y>lraCtrZd%UWL}bdyF_M{Yov^Vi`9JHNx7Vx?GabbzKP!Ev%x1RZFQdV zB#{{(tG0zo@wS__7#I${{DNaH-@!gKE|lNtUcA~^kvURk#bdcA!5!=yj(2VkZB95( zIeh!Gex2%yE&HTCD`;Eqf8JTYd!ge=@!1oZv#ni4w>lp3Swohb;)4c=N`x%FZQxJ{IlvF zS5|j9R7qCPI#^v~ODX8w5wS7!p3WmjkD}D-Mjc0*_P$hCFZY4ZMf5+0FUEn~r_TMF$G$2=n44?C>eItiORF=UXoZpf~T=eNaDCKq%r-Z^OEU`hVg z#Vua(-$>aiZW2o{Ioz@3*b{ZfljjXQw;miBZ$po}mQy!&(Z+lR`G|`2p)VhEib*#{ zP4WERDOz!kIzXts_k#A``6uoD%bjpP?Jd`%gh6|QKF9EsOr%@YDJkpll-0?Df2Dr& zg9;h{ar1&Nm#|+ke{$aT{ZqNqJH!=e%>OZ3|8MQxf!1;vD=Pd%?9CoGAKoAL@J7Nk zXVM`WZ|=;v5uWgU`u>)3Zm^tB_Lnos56K zvii+f(%Xj9Yo$alub$M<<}u{4>)s8|U#^~0lYI6?+Ium>B_hr1^)yCBfBx&s^Y|>9 z^hfcA=u^X7Hm?bn;-r`6TjquuT$m>FD$s9&V&+Qfga&aXqt0ve$+2{+(VPL7UqxGe zUm~SYcTS42rtMzo(AO?27hW(OJ!@O}>r+VsZ0Fta;HbUDubhl$`pqN_l^QH_>%rj6 z595x9OfNAoeA&4q_1ZM=rp?i55&JBs-uWw`e9y4NK;71Y99XfgUMC~2YuI; zK38izQgkKgaJ;AJ9UGe4zO_66W|X1PE{UkTnX5F*^I8{QQM>zk zq-$mNTc@WVNlf{KuKQi)!c4zfXXX6bF2gMoXkLopl?vOw()oH6 zoUez0vlj<(`{x`Jg!}g=ze%t6Igd~BMfO^^n_5zYKCqATnF1c(Ugz`xx(wd8bO^Er zg$*fmum+_c=$trNaE8bCTVgN!cEU#Hg72VqKJ|eykexb)%>*-pKNENhgaDcm1pd&Q8N3HV?O=G~P|uP`bqDM6 z!8O@!NcNbZG}w{#UH8EWOyPs;H!X7X^0%Ec7SF$*bKyzeMW;gBh2biP{Hi90`l;r} z$lO?YyQqP&_2cTpk|BE6Wp>sd-}kco@Z&Nu=0FLB!UKFsLrd8!RgERj9-7y0(I;Pz z;I96z%p9a&Zo1-?jgh<4l6sj*>l}5LnL2;aty-3Q3ftAWD^I1pz{Z<)z-;;`tAn^} zNqo!6>`H^_iMv8g55HR%NqKnsP$o0|yl%m$okOdnhAcWUaewA!x6E64e|61nCS}Z- z-!NOLCZZZDvWhXR`r%!m6z+ZIk zqeJ}}`iQ%;5=rONT$&`pmK&egbMwWXyrt7Zqm=g#U9R#twJ)xGh+H?rzg{n zN$^>&w(aBN28!+fzUK7i`;)koS-GwLm8Q0jmbxn}dC<D_1nN2;bQ62mO}MyU@X>7IGSs8vvSj44bOL9i;X++F4>*C zrD&~!LTjv29$$JR82p34;P349P-APBt}paa3b-9Bboz($=(t`hp7gz_^0?Q7( zJF30jogY2a=mZR15N`vvGzZ7Dr4d~aZ!_vi{tt0eS1-L|J9@$9`xg`M6jVGLvf-A; z=JcVJ?q*${<$L80Hdns9rsYv_j$0mi7i+{GHO~n(!T(YmdYH65eg4Yhh59d6j!pPW zePF`ccK14K(ui{xMK-_ot>QM<&b7>GyP@f8aI12rRO^DfMl$|9dCHqD6ptO@t_yM*}ymx?9| zkoEBUR0)#M$sy9$WxeJ=ydzRTJe$LU6+194M4$c$-j zU~XnYH!v}whZqC~nJ~b4ZDK)Zn$S&yaf^O#o=H)`jc%g1`Fn<%n~ypYx$8;{IsNxR zyI;oC*wI`fZU^k$<4{KY9Dr^HxVZstLAZJt!cl{(#|!tsrwP;G>Jj?Hf8T*HZuf^S zcwhhtJ!)h)#MCE_4&p7s2h-nvIe8z;qy7BRlXq6l_IPoTBK_{#G`-f|9O#mcO{roBkzl#rpIkjK zgQw)3(<8Xosq+fEE zjSXw~4U$~`ebYtPwl2I$S+lIPA$!sEqC43y=v`?O*Cg#|a7k#dy*S>P`s zO|E@J-TT7($dgvZkcxX={E@Ew_{uGwN^-N04c%+4u>L^N@Uz**o8KC7t~0N>I%XQk zPMbY){^xHGo5T~uKjs@-e3Q(6xOU#rF=b0qORt?uBH_p8sqFSwF1zMD^kdXS;~ML_ zIag@YN{<|`s-WB++xV22UDt zaDjVK>Fo3FM<(-+Ez!fA^t2Xf&#-w?RukfMYCvv$v?O@&#S_7kA1L$!$*e;^o&%>c ze_$3oW!ZmZF#u1!U@_3`T?~Hj>hE0^=-@Ge=%uNpz+YrWB$y5 z!!OF$4rsGDmnBwo*|LT-m~MM}xpYGC(gkU=H6jjfamsBDn{}%$$D>$EzvAHi-J=gA zN*=to$@j`^CDG=P*d`-)EqTM2dnMeeO6-sM*Pf?|#Ow`gzZ%&-#xGy7!|}vZi{O1x z!KU#$@`7XyZd-5s^z4babd6uab|>AJ(x>wj;!dYowSIm!dWM{;v$sw`BIl|6m}5?} zYFk?D)-Sq0uXtXn^8N9LR{1wAcU`RXKHt#y`MR+N2aKm*I5z&9(d`lut3$;HH&`sV zwK-Y;gNyfiHB-$B%c$Um9w%~T_YYTJe6{0*Nb2g30d3Xp<*U+`o;st((+n7YREVr_BM&8Z`ZHt4$g2e*TEh1Pzh4n~5_GYt)}b z`^!#qj4Szs)t}l&<_A1HGo++U`Ht6=mzMdm&FW64hLzgScX)obf|K}^^HQU(+%fAy z>$wp=4;QU|PuYr)r&3Zf@RT$>Wqpr7ktPCm zB0fRb9hszP{HN~F;vLKm;=-vL797q`2#V&?!g!Imbq@eCZZgt{s?z7IYXF>dML+I@ zPT(fM`DXMB9fF@eL1$Ibui4P3DnBSxV)YGupSnHssb_)`?RG6MbX3lOO@r!#He}gu zO1hOWaNSvE08M}VrwY!^$VJ~yPiT_5GPZo;?rrU?he73|Ot)wFGZ(K*TIuNKRXcFQ z{98&>MzoK!UFlw3^fmn1cyXF;&I>E$?RSo-#HCp_GzVAOTg4};w<{#=SjStmy5p)A z*-`J@3b~VoyF~})w1jnq(bDtuCg_DvcM4LKWJS%$-1K}=$C!b2U}pPuNCp|UcIeV2ztv3DNhRalFP?I7vtjOR~Ka1I%8ro{O}{n~{i z*h7*WcE&bZ>oK=g_`3(DR;UD-Wu(?UX#ezHF+W?o{`&Te>bL$uHqT~?=Pn&D7AJO7 z>`;vA;L{Aok+w${l_{s|Y%a;@ynVtne3S84zTc)=>~6kenQwc>cF8G|PD$Ve@*)kf;jgwMOK z75bmeUzX!D*V|>1!x`JkoYr64js@Xbvx)TuNfOHQe_mgz9C6;sro**hs;w) zpH@kE439XgWi({%tfiBzmiUA{jVYaw>al#mEr!mMgItxd3$7mDm60i?o^E+|;1^4U z^I^~Icj)e($WMxTY@-@|>rwHdrVmH7k2LQ*B%Zf*<(7NHdy%#k+gGf9d?rhBdgy@6(c!b_y=?kvj(tsH|WK_QX(Wc zYSiCrL!r{wRfYS`I36%3CAi2ZhV2pIGe;)DIAGzyf_+m&Ue_0p#eB5}ZIUb)rU0vA zkDtvHr@`sF8MrufkW40ZNLRo5FfrwNxyEdx>9ZZ*PoJ1-w0I%~{vSy)?8xv9se* za9JVgELC!2{Pi!V&Q#j_&r-}KiMoz*7J8Ll0HqrKXhhcpjqzJSU)OFoZ@#1Q1>>+8 zOCr7gbm-^r8__j?d0$=IRNxmFcGD_t-OPJ8vWK1jzdhdAW8@-l5pIB+85kK82K0Z! z@y6f42ID!8FrLxLtCVy+WdokFwx9i+f?M^Nza%)?DmbzJvv106ij%;2wsZ3^gs-+U z;HM-0hV|^$&w57RRQp@jv-pc;)1(_NKFyqvGFQZE^R|37cFF4<*FMlsSBW<4{?_Fa zIUFxJcOj&5PThx>ZSiH7c5Tso)_JNW+|x&5^fbP`{O98ytFCp-mR}Kj&Dz=~=aJvg z?|z-LhMHz-cu(QA+R9x%SibP$!uRG$GbW69pOr9qy*qZ$LU!l}!-N#({oO~xpI^H1 z*Of$!Jq5Sd7&We{MP&P?wZ6Kij((-oM{hNnto_yNpy9Wpjcbfg1_oq5^s#P!cOxrg z-Ky_%0vA5MFnPdwtp>|C!za%T+B{D!vLbg|!MLu4Nt@=Zi{BA>t3J0=<%>maTF1rh zQkzl>%eE*Tpx7=dJ(8R=%7S`CvoZM1$Byy^LB5)@i8M=}*n+ux#8${IS3JSkIp}J3 zt<1#iO;S$Vmhr)BZX2bZP2vJ#ha$4b1& zGY1_?*4@1V8ij+6(8;(&hfH&6`IKw=g_a zHC>d}DxK$M`k+-(dqhpi0@INaCmxtRydALi32&K`JS;d5AfR!sPe3Do``6=dcYfKj znOJ@De_Vb3S(V=R>qBNH7J_hw;M+tf`9E{@|Cb9@PBkgv#i)ac^Oa*pwjT?xnz8o~C{KsK4WO&5MD96IQxjd!hf~%~t0`6_ZhB zdZiT&Z!WmC-2Q5J)}Z`CTUXV!#p_-d>?n@($yKSOopQYjybz>>q;= z|LRZ@5t)E56sgaiS}N+<99ntWa@-K33Wduh*t&&7jdQ-n8v0L_FKH^$DEL;~p}MPh z4b4SP+^^}Q$%?loDoyqFsh>tZd}1Y^w)AYatliU`uEC7GM_;N+HNjFZ?h>O>eW9M{1FbDJ)<+ux9*t4pHIDhZ=ko;em(iV{sO~d$ zuJ{*Ib>6Cs>{zk*)KK?VCGvB#^;MKzq~mWs+$gOvYv?j3Pqi<#ep=Pd3iT0JT*}2u z$9C4|8afVSj>&Z>lHAFisvmyzo?_6`FC2@k9irEb*4q@!>NN}n zcHOjo@Few%D>5>st9;#Vlg}541()$G!Z+|N|9|iXp+FOUqNLAvK}CjO`~%BB9DXrD z(T{p+D7a;^*Imv_GmWeQ3kM#rL3vp#Lf zbcnI{9DX8pu6a_p1Zpp$_-uB*@LfEg`UAeiH(SQs&|kF4t<5)UwY;iITx?dW-i!N( z9~Hl7itbVyWt{I-b8>xgjBS-@ni=g_!n*th@AbNO5}3{>o^Kvzoqk%b^URb@T5(NT z@<%Vo+nVUbYc1NeW<=8C=Clt_=0=;RT`KC-Kj~M`y| z?8%Mv%}XzuDHw@cN03@>OsyDk&M@Lw%5vLx?JnQrq$O-S1}m4W+V6M=pYMBe?4nZ# zXGnA9;yiV(EMOAVz<8k6JBUec9S%h(!VtPe+gK7i!CBP4I*Kf4bU z_~d?J*7Wzu8R1Gj?hZH=C*9AXf&b)V>)JB$j!mO-N6XsFR|;o2&sNx=la)hSpgCXe z@d-PxBs`^|4*)Wpg1d#MRN*Pt@RUQ8!M~DSIIWAPBo{9Df00;l((mr~>HDijHl>#j zIc|4-1moUMubw5C8e^qNtBcpN!n9N zDeYyfl~(QB|2%gLBl^_$_xpbSpYQMW`(4eQyFANz&U4QDoafwgC%buR7&nGtJn;GP z1H-D|8*RqK{;zj&a9c#~m6nT z@bQEXhKUl#Tr9fL1w=ow<-s1Vi=4w?T*e8gDEim`-Fu2I!Nvpax}gJ4XuhuzIG=`L zD#q{~hhf9v>tEi;eWVjr`QhA}qY(`nHJS$JzS^*Zd&F3QZqAJiRB41qg!{lnf;LY$ z7zQ6b_;75-FkKqq)Syr(NYEMwH&I(t;KQ*QW0)z&DRF3w_zD}MjSJ(&!t60D1Nb07 zT*a_!WDMJ(j$w}Q9oKv9uf9Z&e7spc{6{C>_l7;pQQyTim1{2v3w-$Q$a8n&LRYI=r$7>~*RzE0&$*O)i0FPd&`OYD^X z;nQf`uNB{PgJXkNeeZ+=iXEZms77A^TaNDy(J@Qt5 zb;ivC9l_V-p|eID`cXdlFm+z|5#5iZ<6E4bAAeAtDw<9wS; zTJX?!ukS-CRjWrg4QI5z^6`JxV{)@cJtg8B_wvebw|&oZ*_*WRyDb8`<5nk3ledqpRt`0F(C`U1rT8s*qP2%PLRa+Cech+^nNxM% z95PioP-k|Z&(wCEo1I;=gTB4Gs^hGnQbU)`XP3L2)UueZ{(j=TQ2)4j_X|!(&AF1e zEKV|W#Z_($>w#hG!e<8XU_P9?g0R}~V%P{c58%VF+wds_!OH=icN4_0G$`{BCQ=v9 z7s6*B$i6b%Uk=c)5M=Z|T)PByOW;@s%1(!}qlID4p-e5beHhwa4ebcPaV*?xfpSXF zhCF-=LR|wWi?$N@+=4bWpnnl4-v#x)Ksh?J9Rl~P;9fp_c0e01;JydkI}YFP;Qk9} zyA=8^fVv+>U>I(K(csSu^T8Hj!59@9pkdDNO~cHw04xFv!-C*$3}z2|bRTUxW>_ek z1j9ZA^T5pDRtWrsLM2luVvj{ar69}!3&$*=R2W>3!A3$wgMk(8pkPFAB`YXQg@$Ob z564`98r0}K;w%(f2$juIWz@1S^nm)ZfdYs?DiBYDDlx>dIg|+p(nB!+-XZuv>7_(N zF<3D)WclxCh=Pp+_Uf4vBzr+ms87^O2<8O)2!hgIF)H9 zMjZl2;aC|IGO~d7A_>N$A~YCDI5rdZUcd$Rh%Mk+IC004*as6OFGF=T3oIJi@_{C3 zKptzlT;K}gx(756Ks1fmO2eAaco0vQLj54P<=ZO=s4C)S1U3hX2VpFcLE}Z_qY0A) z$KWBmoA#jFT4}~6CGwlrhgux#gJ?hUFY#=HV z(o0z(G^FGVx6#xiKK{C*GYG#Cn*}CNFoGb+8wiU5mRLfIh(vQ}tiKt=Mx+chtR1S4 zXIDpZgvLRI+ejQyuPo6Q0hPsvE@nrx8v*qD!x86%+d!o;>`JVGqX~_KK727xxGBS) zakd0lLMtqKeX)EfU_Tq?)C7j{^T5oAK_QJoj6@{RK*K_N85x1ihC4`PeR{d)M~uT0 zfW_cfO`_=zfMz%wLu!j8F$x-c2bHbal~Mm*a4`bF0+-_alnDCa%6 z8Um(2=a4l)xf?Msqz29~Y=0O$Qb#0jRBRD+v*^#dVN)Cc)sc?HLUm3K{=Ty¨>M zoej-R&Z(FO;NLfo2vK|ioBas9 zV)qjO##!li{jlWh0~A&KtD@{S{ltdk7s9m=%n`VTAeU2i`pIgBs?!Gd;YdufFHE!_ zR7AqpFF)vBD9A4rzLB?~Ck}Rga1(5C`?7*)gr9_>_C1Zz=1=?4=ou6_pdI+A+qeo*kZtG_Dq1EzJK8l{N5A>Kv#W|#_oz! z8aO5Gt~7XVY>u;sGnjk@84Mf8F4k}K*-DE1?zvEefG11BVeEIo`ZZ;+Rv@yF|HE?o zCd*ep|{>Vv5m} zv>r=p&jm?<@_U)|)#N$BK_)a>cz|~#jcUZ24a7gQf4v!tAZjo*gvQZGDXFt`XWPaU zBeG>EM5BCXQvJPrV(cI&3KPDLObd@h2PLeonDk600|aO%PzAzCrh#xrP-(P)5dR3^ z7u?Jz7y!b%7R6Zm?}1##(OH5+d9C~ zfpgSLMp^60wQWUNz+eJNOHpqFNrHZ%b8Up0ee=~X(2Vrfs?zq-0-_S3nuyB;wyy(P z*pU4nz#7*+YW}S}AwA{#C2OlvyXbq`lGY$$VjKZnXU3;8S_!hHNP+=4 zdYQ)A6i6yLg62gF@BwiFa|*arK@KBg?r;IBfwZjs*|Nsb+v19ly3}N_=dl;Pdc{8u zx*x&~Xxji1xUp>mNCKeOFYP`7TA&;yfT#m$-9`3_hzapg_loigAP}atx~3z8g+#rO z-IjN#EiDOZwkI72D~$*RVB8MIkA%%>V7f> z#)(G$+j;nTZrNP;rzgRd7*r6|DU4(W4{`O*HKi(nqX1j_52qs)z(9ORR`FjD=Y&{AVf-AIfKyc61G3|8y^B@)`$&VoI~L_ zMzU~-2Qd)WAI!jA;B|GJ+{58B_0KMHj6tQ!+Di)w$OG?i;4}?^wY@xo;nKgYvVNzvUZ{z|vO}^?Jwq7ZXF;$O1IhK#ckg#lR&o;nVJdnK6lopay#f#hCR% z@jwAiB*RjNUetQLxU~v^0L)Fl${_cnSD}8RxugshP1*!=|C}b9kN{eMS5QDKwV&^V zUj3WMN+QV8(i=opFYxv;iID5Rl|yS;q<|R$u;=8^kfi+Gj0r{%s>K!|q%ME!;KK+L zY|uM))ZO1bKzG7MfRSa54N!|MVaUpZDTSp@uMEJ(94*-Z4gOfw5?F$yMKBZL7_x(~NMQLxd4RtI zn;#GDk0&f&HmtvXBBp;#0OsRi{RSn06y$UFI^{n*=xpRAU18AyEG7iHH&W2McqRgb z;0gVjF63o^mW$9A2Lqn(Z(p0=cA~ORuz;MO`PpX$34e_l zpF;#SH)eLqbk7X(dR{S~!0Fj)e{?QDu$Q+BIp+o^9W){(5R394E z*CN`78b*WME)KXkIdnErpzW$ODV%ds(sX-jx(aU@g$_-g< zCxP2wSvi8t=(KkVNY?+BB|Gqzo-+gJcjAajI^-4}`dRiJbzQJXu6^8;6a1I+{QoxOe;s8~ZaZ8Vs$vR00W zN*hFJU>=7GS&?4+odK}^l@;jf{{_K_z^c`6VRv00wsOEOXmzjp7?D}{tpn4_g27+w zXrChXA>Jbr2n(`P?1drA*Cx-l0S^N_F9;zL(HP`&p@&d^Z5IbD!2twXk3$>;g?PX` zljqO2=~r6L6*@<3k<~AlZ+KjW9zgVZ{%qoq*s>mwaX#n(=baPd>?ae~&EN`89EL#>6|tdS6)^`=8VS-C`!*5=Ib+0!Mb{=4 zaZ})dV`LC@8ph6j$NCc2{er+@0!ImBFST6)XhHo(7}M~fg+j7l?>gL^8sQTjKzLSt zcDnDTS!i&WS4hm@8;;@7y$@~h4Vw_Z(C}c0|A&Tn1@&g*4=!aE8Ws~C;J;{y23*1+ zr$5*$JaBL=%YY#2peF4Ce8NK`Lj7nOt^pB|UO~>ZNZ)`^!d^KBdC?Fx8mz~t#I@ec z0(jSg{W5`XP!RUtZ3J8F^Ju`N9|9G4d z+`J0oKN9QiI#%a#@~A|s)BY+9WD-dvE)PTsx5dvltog#dG$?*%PWrfmlRLKD zX}VwgU`wN(xI9;yQ23Njaha>mJc$zBaE>p^VPdD2NcvOW=dGRcr;1;8zV>yWIeb%X zNsh__Z?(NtHQCR%rqULKs<*vfxv*@+nXIWwGAUwa)G_4XQ=4?`<~44TBw=E`^J5ko zPVJo^4C5tX@Gg@u3FD`*Ugn@+7%JN*I^@%P$Yd>uq{EmnHD|PEZT9Gx+L?VcVEUCDGRI(5oAL2SHXAPe@ zo)~rp@Rz-v;nsmeS4i&lfV~Ce@H<0(tOF!;d%(9n^~hyu>>AKvZXlG?aypSiAX*~JN@~-s2@9MpPfae0f|{CPmKzR z(!M|sDv5F{(WV2IqQ5;?;(A1HULm?qff5?fGwTDQ4BI~7DT&B9X0?OTr-Oj6?3YSV zUKyeZ<@|>NXJ}B{mB=-VBub)@M*<}%dr_m0O2=MaAx?%vR+`37V_=VF;21QBaiM_}Ev>9M}O8KeEP^ye~SK*-3zc7B$Wq2y!=QSawe zYBIW^8(0@f`TuSID>&fD^20r~|5uFm{|5OJ2ULvV0v8vCGmIsM38*GoCw>qn z@p0ubjQQXaHy4RS5yAzA@lF!q=91#Y@R`E|Ck-RfgbGe(DA{X>%uw*HA)Qb6z#g@zOB4T?N2hwgKWkLkaUo};Qe)4YPi z$c|r?b~4RrP9!KneqDNe8WTPPF8g%D*z;yiW^j!qP1d;;rqT!>jf z*dl5;+1%NJY~gHgMA0!YQ#aEwHB{Ha_4Ftca0S+gWQH7(Gc|l^fDaXCkj8Uzn8b^5 zGe{#qAV`8-3|I%(zL>wu?ELdvCF*V5D@)BkW=GGtYq>RmJktHLluz8c)8Fed+{AT6 zOrLJbKC^>jH7VYsw9s2Vr2EP8*A^CBi?7$6|E?bG;jXj9=X0vmL9UV?4lz#J@keMn zslH`tPG?nbOn4~y#IHJdeB8*JMNi$t)vOXqMfLSAZf!m&K->S#FXLddOi4W-_ae=z zBcawJdqf_^#qr8DZg|vuf5N?u-5J`ml2RS$JsYD&WHkyjE}pA@UU`!6EVE3fyC*)# z)JC{pUn{&XKk(huWx@MCoQ=N``lI^Vy#S{;Pn)~5??`=#{oeN0zPKT|_>76F#E;jf z?VC?uB^3&}yx*vMrSOg3gr#G-K%z;743YqFgcp|umdc9oNbrn$m%qiYX=8^2wQS#= zQP{R@)2$7A2^o@A;2DEU#EnwW`FO|4GEA`B_{-8S6_d*AbSp;SE~vg7j~#A{+vHj0 zStOb*qS3;PG&Oy~gEWHsmZLtQ!J1)#0qCkG{GI|@E=OqgO(T*^LM%ZlHJ}JSXBa)@MTV^8GnTWCjracH5J?5S75Vh0m6zlUv;Fp64w_d{0jfwZ%Fr@z~ukF$TA z{k^g0+vh6{K}Q>W%g&{mMkY6{NF%^M#f|>J6QcrzTNBw*0#~BgQnR zoOJQbED$<%Xk*QfPLJt|H61q>zjM%Nr#2^~hVb&3Qta%WU9&m0_eR;*ZW*rh7ed!Y z-`ePXZdRU&R5AD0S;hzN9#dzw=chzx7o@JPFyAchlm7l@;=Q8_x9m%~lbG(SX}`iW zNswob!j|y>W8DB_P5m%NGS1rbBFy!BJs&uL7|Hl2uHi9%3s@-N@+_s7>XR0LIY=*e z4)6~FaO40o1BwBxfC0=9km*w>xK{5ePLKavX!{AsdJ&oX7l`~@V7h0!wu^hQ#|7yH zg1m;UO(N;n&OBM$StQImcFw6OwRaUfmXR~oxu#Z{rZXzpDx^U#v@Jk>YZh{6H@MxJOD*SR=5S_r}@#rwU8+B ziciwgGBm)oC;90c=z3FpaCKc@LqByLZHk_{fv=vIy1tGVRZmCD*Ov-6kribl;N_8> zml_XA%pqOW*U*-bI68BSpd9Xs3dr#|;DCX7fPsk?{}KX%FoP%q@Oj_{>e>`AbrhVy zz*q5)s=Z$T$XJ7DY)yQ{k;X_&IKtIerOYj z8~(%X$)THfKDk>z8Mf+lkxNxp?7P&9@#4dm)O`GUT%&$;#9J)Te!||KGlJn6PCKIP zCT>#Ur%2p+6hbRG(`i5YKn}0Dy_AiO+P;_OdLHiW7RHp4->!JJocGZ1K&^#v$f~@7PtI_AO^FIor#9nYU4R{uRae|xoJd(&3)7-h$ldg2V;699NcEWi`=(pG|($6%xU z#4Ox{@X!PW(v^}oy;1Wejg{aA>qZ%i97m3e0)57hqK;2Og2yec*pFdOp`kRg85pYo zzW^UE8kKAk2|0}60kjyxEyHmGZHkr_{1A&4pqWo3248u&e1LiF(?BU-%F5zRcU=RY2vHnmr13dip0x(Oy<+E2FW zd9`Stoo#Ayb&TzjtyX+@zfE|wEi$QLZ-n`(+w^;HtKaAqU39m&UsgKxvC5)ssa?h4 z5w5Q#Gg`mtW`yV6TIw+_$|63&K;l}&eBNXJPN~HQ12pfB75bh|o7l2c)8)Y^eD24_ zRPS$>FM3!~9FHoCw;JOO;S)tw#-G=>pPHvNHSJ2i!LS5(dsl{vDzDZN+uII49gXVV zuPvr_?BmDYTjp=SK7XB(b7$<{8E-5b^rskXKNRI&EV(`P^2iOYQ)>4KcyQlfL)b!q zuzC0hgbd;&(hnY9oEyG4;A==EL2j|^2p%3-IV9p@!vuO4CZkC_yhOv`|Mp$uLN434 z>lFJNN-3F7HhWIqO$psO@-8LVdc|>;4oUDG^tW@ax z@t;UA_wHCc7($#BVl%f-25_0K|% zXI!tSGiNlO2;>8>7FGx3T2+veq61-LFqs%MkTmJRqf4IwDDOgvnd@#nx)x2QVl}}xT zb6g*6<+3o>^ys;}|0Y8#j^zD#h>xX>0qk1 z1a+K9$^+4dzCEE=EpOhC?20+VbLhqwwMTL(+xH265mz=YZT<9Q&nnB~e4bWRPhb|9 z<@XD_=e{b~pSUP~_+s_rO9L_4tkO3U%ic@GD;`a1SiIYcqPgWhbIH`(*h+7!>sOO5 zR*m^A5}sOHIJJz+c=3;btywLiyG0M_JM!PEn~F1r!3v-IB^$pb7NLMW{3gmjf#0}3 zt^?12wRE*{LxkTH;uIbW!|6Y_-v1qX@5m22@aUd(y6W;kjj>OvTbO5aW+^z9UVSje zUU9^W>$|ScET!S(kE8WEcJC{{IPv#r(L4;@XtK@pQ%i4-- zw!P``mr?t=tRqSGX@`AbeyxJ@rPR+B4FcB|mR&115xU*4r^?NmETC^ ziGI7YTW<`b&nWn`de=y+Q38w|tGj1MevULL~+aRBM%iUkDpO@*-W)VNVY!Ee4#k=NhuUNA&sN+t4V8%~9i<{zV+cVw_ z(@fy*+Ni2HKJ3f;udUHJ8p0p=TEb3@vEQ~nP%u2RD&H{IU;XSXk*D77(XlgNw-l|QgWn&` zy0A{+qF?nk*)?LmTvOG{=5DBJm2ayozvOc$+J*O~iH768jPl~>l8U^nNU1yNYs4eR zYijN056PRqZbD7o%hi|UZ#^65aB<5Eo5vqW)X-$16&C_7w1+(1m3@^m@rTIS`R>hj z()rDwHMdXKm@N@_QM~XQg`p~iGgKuY*o%X@{d0i{BK$ijZqgrp&SQ{#k-yd(rWW9) z4Ce?w^FV~RKR7K!5y3g{jz-=fyCM$-yuouad&l3pReMradsV|_-JKs};wo(c$+$Qg z8BU?U#p$o|=uL6-#((^|q6a*)L%)~d4SzcDOxFifhnygN_&G^EIMRVX1GuVA-1j4{ zX~7j;qLvq2rNEIcTtQEgiKnyq5T)$(Df_%p4OpCUx&ROl=3$U9T2i%bd*$Jd{sCQ7|9Ahv$LB~W^1l)HAN*gCTaI zct+vfVYSI6NzQ@B^U{-i#?(klG^wea^x~tuDs>6DM~h}P%-VCr&%QO@=f%s85$-UPn?NbvnX^#`l5^=md3xk-6k zf}cHxZ9V6#3IRzg|CWHT3a$iB9t3*i`U5>b2dhz*7KQcb4a8C(V$_CO6xO3Rt-jO$ zArb3qYi^oOTDk4cx!9Wpb``XDd?-ho}Y(v3sUi!p2JU6t=M3v^j=w+KJ<9Y) z?!mU%{)>*OFI~LK&)KTUO0eGGVd}E%u`3wYls*=(Z_9tR&{wqe(=+9BZyxhs6Mo}= zs`-uPm*l&nKkXke4a?@cE;KFdW>iUdw8>_^D#`kS10K(--#Ypi-p+W{xOVmi=bf3G z+7J3QT-0CG>T|wU73KMmG#N{OnwqO-oecoy)L&1N3XSUoT4?!8`s5s^r-sk`g%GPbsZgwpSrh?ju*tSbqpv}9g40mZZII? zV;$n#=E!@4u~$-Ge|%-|?n{wenZJI1H{|2B(69*N5gv$lUu+r4vj^I#K>AuuVsGwrPsG<%WBg3XDwW=&9!jW9J+BUp$%sUr>nkZlkD-D(|eDGGcd*7DH-t=qsW0zYmFBjTiP_KTX$&k7yvzEIh z{o>J*MmNE|_nm|^T$Kx3HfOu7Ke1Q+{(x zJLPkR)%q1XTkK=rHs4sRE#VmU+VuElfvz9*nX~8f*Q7h`=0Eeg^Ysto+n=`RZTogC zEunGtG{;g)xt9}$S8X@4=J9zMy}4ikw=h@peR4^=Yvse25`J~JXEVk*FrqJRcaakH zJR(_QEWUAn`PkYm+S^`egmdWl}AYEN=C;1`7O1sJU(c()Qv#KhOHq`OlnB2zf5?%Lf*Rh918rq8| zYL1%mbX@It16|&Pm#29!;lSGFtWnmZ%T_v-S9zXss+_?%lAwy&s4B%P&og;g-Q;I; zLMS&nOaOxUe6bMJ_htu#MA8}wTfqI3u;BEhzr`3p(4J)sCiWYHUq}7>%>o62NAMt1 z*N_!D(j!hOke30Wqkr0LF}McjR&b%*3NFa40G%s&^*LNrMx(SjWG_S1PUqO0!*k?! zm`bY#cFl9#TQ$r;ipS>Is=DFh9_R<26KfWFWpFxYSosCRCekR1>5XLJ7~eH3GdvZ8 z%C_6&b}d@i_-L#1K|!^;vO9Yw?T-~GyPY-nlBX1Jm*3J(Ehi;0&5ja&$A${?BMX|( zXmCfCEP8u6_^pw9zC@4ZvBw6!`$Bwmqj%={j8MN}yy+wJA)j!QdrYy-#17$;dE!wg zGp4@$!kjcuRL;&-r64x^v6#^jn}yBY-DVr(?<_mGEK&N-v;*rFbS68jmU@$~Ikz=! zvig4QIcJYd`>u7Pf_v(LgJtOkD;u}PslBsz-6*d+q0TVGca`(8+!3W?6;@yFImVrs z`oZJXHK&?&8Ea0QlBZ4Z7^8ByURlLp!e+x6dJW4Dr0VnB3l(1R7uhqU49MqHFMv!kPU?Vmi|b)IrvAz25XhpdGh4_G4H zA-{E>JtG8I05iZNsLcegvKIT zFmBw}02i(^PKzwdk=pD5Nz9>;l#CLP(a)c=eti|CXrt6*^xNhdWZ9npm9W14ZxV|) zKX!?c(zww~^B=!eC~M>spY$BltQCzh!_#W19vW)XKGua_503wSa(buWrO7o`dkWtM z-1Dg!uUnkGfVw(u#ac_p+0Db#mp4k;%DkOoy4LAh`L{skG(L@qTid5f7vHRujmj`= z>GHj3J~cX4;jQ?JooTfA)Sk;qT$ZY*Q$&v!?cp81wR_R$MH-oTs?${i=h*nj2?T`9 z+nm)J-*aliTgyogzfQhZt@|=$!v3~03o$i`6coZ#tmrTg0s-nlnAX_mzt1Fa>>QmYR1D1UsYW<(Cyd~j~^qL9#CM`(4% zyu)^qR8^)iriN#VH3|D*jhZ@B5IuOxyFKm9kH?FKU-(Ym3*;MhWP91?uWO$P#XSv}T=o_3=9#(v(WA&f+EDztNRzjQ+wI&u)&?c^&A;Zaj6^!2p89hYus2YCzRYi>P1O25*z-Kfij|FmoN{<<*Fm`kMz+09eZHz}V<@Ksd( z=oo3lEQ?v~Uwr(?&33_ibJM2ZT^*4u)M!1!@m)NZCH-Po$w%ylp{+^ujT^!a(b4b4 zcPzajTJ2|8iHq;{o;Cl#;t!MtlUdG&?R7=i7?Grxr~LV+$_yK)GItt7dwS*cx>vMG zcXxh@y?exx=lPupNlpv%YOX%pdwjFSH=Sk6-N$ z+tXRQa=|CXe1`Z8oFQ)6x2)vmh8T>v9$eGvlQ9&75m$gqa$F?t!7&&HY3eW`wrGn& z7=}SogV>e|2%REGd2iFJ=L&L@AOUG$0EdUXPKRHvp_4&P)~S9UznuE)x`bJXz@qzy zs#Ka2XXwgAaSfZRG%`za`WSIAko_SyZ4H!-hx0)Paa^RHJo?ch`r&^(t=QDm!c1Ko zH#1S!GB>sO!?fZ&hR78NGcAF<$hqtlg#cZZSW$5OWB~tjRup(|GLb$63@F-qy1M9L zv@WbD;8X{l;>-V*wT}|6$Xffz_OE>gCZD7A4i3UMcs;?HtG!27_(ar5_;umuU&XWE zeO?ui5lC|pZ7LST7ztmxmoKta^Eg}A=5>1Mk!gOD=D!;4tjt4^Gm)0cl)Wk-zJ9qE zKKB4_KH{}!(rOp8;kWIo4EQTdA8gupD*|^@ViZ~kUwit_ihiX=(Nk-Vr{$YDR*71x z$I-m}H+s-r4m508&{-SO0qw@$q8s%frGjV!4PTw%Vm8RoU`#fP1B)qcn z*awHH9Bpk_ezcjRv!*ZA&kO!nwLfsA9S1nl=zT@>7UyprX}d;z#c~UPV`*-@SbT^V5m$Ko>XuNwXN{ zVqcCrudDCz6iZoJZ)|L`^}f605BEH*bc23%HL*} zX?{Q4wqEeo-OM;#QtqD@90s8-RPA9q`qe0UhX(kn1DY7hPLE`fc9$Dg0O+{`!>enqyYDuFaE z?u&G?s*B;l`FAe}&(4Wm6ET^;eY5)0)W_NyViVt;(sWUl|8QZS{aux+1AFde9o%JF zaIs;miQVJGPpVrANBZG6j?=VkANeeMmy@C?eO|t7Zsq>_=2NmAm)y>8JUg2i@X)RH z`a}HGxB7OwFTyno9J;oR8*89>qG1lN#!KNmN8P(G1(ao)Dpu-_<3Dy+@7@h~+(S#U z5d(vB7oKgL=6JS|U;ORpi(Oy0ZzHTv{?FFupM`YJmx}as3|LP#Snn92)Bl;)|F?!} z>ornL`}nfh<=WNp{$+A@c9#+|VoR0=s`6Q+&QiW{cmcdq za?X2H%vy)~cC~lUci6?s>WtS@t*UEze%7)3#y7KC^_sJ@~5oBW%6QYTpVZrJuZ7)wX)Z6bb!Y zldI%x`UL^Dp^^qpNpj@5mbf2foLr*XwBd2*!HEr@rEeVhY(3zi#E^FDznM}Go(8;4 zgi`8R)&(9*Q2t%ke zl1Vl$@?V?Xm9BM(KMA^IU&B{5`O}kJP0Qg_qg;z}fn51FWS zmG&;q#M_m+`j&d?W)ur}{Y6*Dj4}zI$a2}o4|Lhd&cy#SOSbcZ|93W=YzF@;Zy=|| zfgA}gUhMweaqsc*V@80&5z9Y#HmRelGq3LgJkKC5;56K*f2|3r1Zub{F4)@uJU~Ee zMRB-*3u`(9x3zYKr zCrwJ|(R%kjE_;Hc?i!20;PW?Pm=CXJZd-FsPh5-7IEd7Jb!MH+Y0aP`^kmc5Z|#3X z3GGyR+UHUp&8jyM;h!n{+p?=ysgm!qEU1q{cPk^ah+>kJAtEj2cRJA%_>I z#}%#oPh=M4|K0jAr?g>QXJ*alqh?o9aO#7u0w+$%2b+VknJhbb-W|;33e4G5QmLj= zBarm%{a9(}Mtv!*%}Ki#^We>x zOSSKAZ_5|=91%R>%&3(6mp`4-Pm0>w;1fDOSdi-G>3;D`iT7zf_hUrUSZR8pRHhw;q!dF*n6jS`l#d<;ZNHZueE;apIcF; zCYPBd{!st^Nk;UW>8>kIKX@{K{vF9mMsf9ty04ceO^}&pS)P8NU8zE1+GfIO#{M6; C5@;d- diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index 4b0a07eaf3d08c8e1c68defc65d8fbdf6df66b0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25688 zcmeHv2Ut^0_V-N)(h)&XDH56#DL0{`D7}bu1Ph3i(3>Gt1xXMT1nC`>Dj-cn6bqn& z9UG#es0g7dhzg2WzqyG)EU)|S{`Y;}-RIj2nR{pM%$YN1&N(yln@P+zr9ey&1YyAE z%NGc00(a!nriH%`qQPr!kyG5zF}CZXO{jI(MQuI3g0O+a01u+GAJ)~`-#>tabs=Dh z!Twk;f2_WR4c0HfjiA8A#V+xcw50(AtwS+EGBb)B8MQry(4rhD4hRweDXjF=&uZX~ z1s`qjfgm2*Gn&pfl7R3}yP`n|(yu6?K)bYKk*vu7xBJ&9k_4_JfUYU>pbbHuvqV4~ zFt`DvL0ch+6Wspk3p>j?ttcyq8_yx4Kq7>ZKpe9K1mGR5t$^>j7Z%j6Knxx!N zJ*o@2JDT@=;j^pTecov8;$qs;Sj*Moze(0nyd7@7ety;V6e&Heo~;fep5ps`fBLkOk<|bKr9fq{V^zCXmho3?B#HS%S1IAh7ocYaq@F z-j9R$K@isg_e&rRxlV%oTfk=n3s6Bl$Qkkne*q8)GK9RqlN;^s3lV6UmG!_YKkyd- zUO7Q?v+IH^=1?%?3;rx1B4hw^1p+eRkOnBKtq)!Yf>!|`!4Ew9gI5M18xf=sfd)H+ zntqkX1mq)t5^;ct-LEoyBVq`Mc!4SifRrsDs{^@$KLQj4_z4DN0%@T>$U_9Ft{?@e zIvh#_($M`^Ne9i!#~cXU@}DDvNHY*{U=MgAL7srm5WpD`3I!h|g#a}JqSpT$(Yd+l z&xo|$05N~iXfJRNf|QU>pPTXLF8NWKMxY>FDG&)8(q#853XBeG09CC1RfcaJMkh%E zJo!T&kPYZQq{)Z^(Hk!WR95I$Bp7v+fehxq%YXR?hb-B0JHW5P5{v- zhW=d##Z=8e%YwikT`zvsG3JIm`p0Ah)OA?##CXYw!@K9SSmSjK#7A?a@}y{DJr>&O3tNH06jpU0wmJN zBz>a_h{d3(F>zGNNovd$a5-}Mhe zJaykSo58v!b~`>21WJ)8zdzl8U#i`2*H2{+16!<}D{D~4U~<-A3ozr~)Ik?-+@IG+MopAPggM|A5Pt&92T`lj)EFS#EMRl9 zl@B!4Abx>TLGvI$=!wI*r-n0t%K&@<-+?%pIsME_7Ykht>9Rv*qlR}C4JH6>Jv{d< z!%h5P0f@7roSYT=SNHUf?P8$0bvOe!ExN1@1Ct)g+C5kU_)8p20gkPOX3}#^9hkAp zZyEceI)Q8$&ht+=OyA$u@k8VPsLEM!)D7o14b}mnfMx>6^qnI`eEqiH)<%~tC^>i} z74!y`4193~l|sSdfbxMcr1q=GfaU>_eH})CYXmt#rvQ(51bLo2&VVYF=632=Mx}q# z5a7#YPdQweYJfuq1nADbYT(qKp#r*|A-y?rh&+6(a8?jM zk9&wF0uj&#uUdL;M2q7SMsq>az}rKJYo~w=aRW`!gQtKhB#cyo5WE6%C`8;m7zaR$ z{t0XP(QFWtK!#Il3^1oAYD^hzboyt8>*18R;f#8kNujp?Y5(!>=L5w7JcSeJ44VHo zLxxw{>;ZU+X4=y?8%>;LbEtgp(4G{aNc7GGp5vF(6Vx82!K9pl=JeTufNC){CYl

*eicBHal_!xKqrVrE#7zfZGWMX1wqi+r- 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

<2{1kQ;GW#d2DrEK<^8);w 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 z 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

TJ-=Zfg% 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%0DrwCg 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 t9d_qxtXwzBkjy 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

-Au3&(_tL6Eryr>FkEm71GA8 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�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 z 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 z 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

  • XadZ?`QB}4ZWW5{iY&%kO zx1pso)Lc(+0DaOb93kI}_Lk1dC+#!sDM>PGcuhyfdELsbCTpzbheYW zC$KXac(R8Ee#2{oZYB|YD^;9%jE>E!Jka0s$`CsOC!(T7Y2MMH_^!HZ#BXFJgQt#^ z&WpNdj^T+H9d!J8{hx}Zh&O8(EIGV zp>t>O6BYkZBmTnD?bR%Q%}irVCI$qStc_BvP%cD<=lji?L+EGMjaV%Erx*% z1I>@e22{04Ci;_@RfF28a4vD1c*7EMQm9{Mo! z#AIgZ$J1)4uZCU?y^13+^lIqU(5qR?X5!Zi!H(NVS2eWc|m37jUA^8lls!Ke%{ zFKioZ_|QVJ61y9IKKx?%r6SbPsJ$CiP9bnY%UBeMWE>~7kGBkvr7#f<4h87r~GqhxA$Rs*U4T0{rhZEM?i0>=%(^zonmU82_B z*0vqC)>`dWxMSUGg_~Fc@E31d>wt&%JpV&Ym*i*9NLznS`rdZZ%Xv-d>V3uFnvyYw zd07owoZ*iN=N%0WhMxd}3zSF|K%yyX`fv;IE_;uTg5Zn+bL~L?PYYfD$Us?NAKWS|#8U9}{82Qz_r|;5z5W=pP(o_22!Z zVgm6mj#CFzB(r}jlDXz?b-DE!Y5K)Yr}5#9sH4}s5D;2lsbiE06n^c!QlA%*3Vpy6 zm_2mF4zY3rKbh(*Wzcc__qZv_anJim)A@RY=}h57jxbZjgY3@G?%<`)*84T7_{IRQ zSAR%La;wvOsB?S|m(mnD7fGs>li7}bM`ZX4@eb;Q;}Ypa^d_QG<9z8BSop_Y#qe>> ziogCG7k)@Apg^yXq2euF^fiEhG(LwUMB=#VeyVgXDZ{gCt(<{k!e>`%y7vF`yZ?Id zd;C_hJ{@0kgO9!P5`TG;){c~-R^9>(IPA8P7r!qR?JAWC|GA>)4KQrvY-teH-H5#LC8(7 z8Av_3;`vsK-TzQSCp~CwxHeHZT;khG>%__T?zWm_f*M|@-Gt@-3R@G9RzmXEU9Z(7 z0&qi{H2h1?Zw6f%sXAGvRyMa5ktD(PIT-RDB0!t3|nAU_Or>$O=g zj)ZYXLmst2nmYEq$H1c>MZd+Uw}Oj8yc*bq2E_LSddm}D=0nF)i_s+)a)(8zeADPRbKPQmn6oyL~G7Q%f+mR(Wo$TN=k|h1}6+oR23)6>4EC6>P^+Iv2&&w zgVc1oL%NJHfzyo7MMee;UURc=@Y>+@(&Dv=85s7F+2^v`oNd$qr~xSA2n}d=QjU?% zvT5jryg3hoNgapu>@59V1nnsOPp+Oj(ws3Y5B-onJ|2F -;Z7wBj7!WZava}#l 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 - - - Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions - - - - - Used to specify deployment item (file or directory) for per-test deployment. - Can be specified on test class or test method. - Can have multiple instances of the attribute to specify more than one item. - The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. - - - [DeploymentItem("file1.xml")] - [DeploymentItem("file2.xml", "DataFiles")] - [DeploymentItem("bin\Debug")] - - - - - Initializes a new instance of the class. - - The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. - - - - Initializes a new instance of the class - - The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. - The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. - - - - Gets the path of the source file or folder to be copied. - - - - - Gets the path of the directory to which the item is copied. - - - - - Contains literals for names of sections, properties, attributes. - - - - - The configuration section name. - - - - - The configuration section name for Beta2. Left around for compat. - - - - - Section name for Data source. - - - - - Attribute name for 'Name' - - - - - Attribute name for 'ConnectionString' - - - - - Attrbiute name for 'DataAccessMethod' - - - - - Attribute name for 'DataTable' - - - - - The Data Source element. - - - - - Gets or sets the name of this configuration. - - - - - Gets or sets the ConnectionStringSettings element in <connectionStrings> section in the .config file. - - - - - Gets or sets the name of the data table. - - - - - Gets or sets the type of data access. - - - - - Gets the key name. - - - - - Gets the configuration properties. - - - - - The Data source element collection. - - - - - Initializes a new instance of the class. - - - - - Returns the configuration element with the specified key. - - The key of the element to return. - The System.Configuration.ConfigurationElement with the specified key; otherwise, null. - - - - Gets the configuration element at the specified index location. - - The index location of the System.Configuration.ConfigurationElement to return. - - - - Adds a configuration element to the configuration element collection. - - The System.Configuration.ConfigurationElement to add. - - - - Removes a System.Configuration.ConfigurationElement from the collection. - - The . - - - - Removes a System.Configuration.ConfigurationElement from the collection. - - The key of the System.Configuration.ConfigurationElement to remove. - - - - Removes all configuration element objects from the collection. - - - - - Creates a new . - - A new . - - - - Gets the element key for a specified configuration element. - - The System.Configuration.ConfigurationElement to return the key for. - An System.Object that acts as the key for the specified System.Configuration.ConfigurationElement. - - - - Adds a configuration element to the configuration element collection. - - The System.Configuration.ConfigurationElement to add. - - - - Adds a configuration element to the configuration element collection. - - The index location at which to add the specified System.Configuration.ConfigurationElement. - The System.Configuration.ConfigurationElement to add. - - - - Support for configuration settings for Tests. - - - - - Gets the configuration section for tests. - - - - - The configuration section for tests. - - - - - Gets the data sources for this configuration section. - - - - - Gets the collection of properties. - - - The of properties for the element. - - - - - This class represents the live NON public INTERNAL object in the system - - - - - Initializes a new instance of the class that contains - the already existing object of the private class - - object that serves as starting point to reach the private members - the derefrencing string using . that points to the object to be retrived as in m_X.m_Y.m_Z - - - - Initializes a new instance of the class that wraps the - specified type. - - Name of the assembly - fully qualified name - Argmenets to pass to the constructor - - - - Initializes a new instance of the class that wraps the - specified type. - - Name of the assembly - fully qualified name - An array of objects representing the number, order, and type of the parameters for the constructor to get - Argmenets to pass to the constructor - - - - Initializes a new instance of the class that wraps the - specified type. - - type of the object to create - Argmenets to pass to the constructor - - - - Initializes a new instance of the class that wraps the - specified type. - - type of the object to create - An array of objects representing the number, order, and type of the parameters for the constructor to get - Argmenets to pass to the constructor - - - - Initializes a new instance of the class that wraps - the given object. - - object to wrap - - - - Initializes a new instance of the class that wraps - the given object. - - object to wrap - PrivateType object - - - - Gets or sets the target - - - - - Gets the type of underlying object - - - - - returns the hash code of the target object - - int representing hashcode of the target object - - - - Equals - - Object with whom to compare - returns true if the objects are equal. - - - - Invokes the specified method - - Name of the method - Arguments to pass to the member to invoke. - Result of method call - - - - Invokes the specified method - - Name of the method - An array of objects representing the number, order, and type of the parameters for the method to get. - Arguments to pass to the member to invoke. - Result of method call - - - - Invokes the specified method - - Name of the method - An array of objects representing the number, order, and type of the parameters for the method to get. - Arguments to pass to the member to invoke. - An array of types corresponding to the types of the generic arguments. - Result of method call - - - - Invokes the specified method - - Name of the method - Arguments to pass to the member to invoke. - Culture info - Result of method call - - - - Invokes the specified method - - Name of the method - An array of objects representing the number, order, and type of the parameters for the method to get. - Arguments to pass to the member to invoke. - Culture info - Result of method call - - - - Invokes the specified method - - Name of the method - A bitmask comprised of one or more that specify how the search is conducted. - Arguments to pass to the member to invoke. - Result of method call - - - - Invokes the specified method - - Name of the method - A bitmask comprised of one or more that specify how the search is conducted. - An array of objects representing the number, order, and type of the parameters for the method to get. - Arguments to pass to the member to invoke. - Result of method call - - - - Invokes the specified method - - Name of the method - A bitmask comprised of one or more that specify how the search is conducted. - Arguments to pass to the member to invoke. - Culture info - Result of method call - - - - Invokes the specified method - - Name of the method - A bitmask comprised of one or more that specify how the search is conducted. - An array of objects representing the number, order, and type of the parameters for the method to get. - Arguments to pass to the member to invoke. - Culture info - Result of method call - - - - Invokes the specified method - - Name of the method - A bitmask comprised of one or more that specify how the search is conducted. - An array of objects representing the number, order, and type of the parameters for the method to get. - Arguments to pass to the member to invoke. - Culture info - An array of types corresponding to the types of the generic arguments. - Result of method call - - - - Gets the array element using array of subsrcipts for each dimension - - Name of the member - the indices of array - An arrya of elements. - - - - Sets the array element using array of subsrcipts for each dimension - - Name of the member - Value to set - the indices of array - - - - Gets the array element using array of subsrcipts for each dimension - - Name of the member - A bitmask comprised of one or more that specify how the search is conducted. - the indices of array - An arrya of elements. - - - - Sets the array element using array of subsrcipts for each dimension - - Name of the member - A bitmask comprised of one or more that specify how the search is conducted. - Value to set - the indices of array - - - - Get the field - - Name of the field - The field. - - - - Sets the field - - Name of the field - value to set - - - - Gets the field - - Name of the field - A bitmask comprised of one or more that specify how the search is conducted. - The field. - - - - Sets the field - - Name of the field - A bitmask comprised of one or more that specify how the search is conducted. - value to set - - - - Get the field or property - - Name of the field or property - The field or property. - - - - Sets the field or property - - Name of the field or property - value to set - - - - Gets the field or property - - Name of the field or property - A bitmask comprised of one or more that specify how the search is conducted. - The field or property. - - - - Sets the field or property - - Name of the field or property - A bitmask comprised of one or more that specify how the search is conducted. - value to set - - - - Gets the property - - Name of the property - Arguments to pass to the member to invoke. - The property. - - - - Gets the property - - Name of the property - An array of objects representing the number, order, and type of the parameters for the indexed property. - Arguments to pass to the member to invoke. - The property. - - - - Set the property - - Name of the property - value to set - Arguments to pass to the member to invoke. - - - - Set the property - - Name of the property - An array of objects representing the number, order, and type of the parameters for the indexed property. - value to set - Arguments to pass to the member to invoke. - - - - Gets the property - - Name of the property - A bitmask comprised of one or more that specify how the search is conducted. - Arguments to pass to the member to invoke. - The property. - - - - Gets the property - - Name of the property - A bitmask comprised of one or more that specify how the search is conducted. - An array of objects representing the number, order, and type of the parameters for the indexed property. - Arguments to pass to the member to invoke. - The property. - - - - Sets the property - - Name of the property - A bitmask comprised of one or more that specify how the search is conducted. - value to set - Arguments to pass to the member to invoke. - - - - Sets the property - - Name of the property - A bitmask comprised of one or more that specify how the search is conducted. - value to set - An array of objects representing the number, order, and type of the parameters for the indexed property. - Arguments to pass to the member to invoke. - - - - Validate access string - - access string - - - - Invokes the memeber - - Name of the member - Additional attributes - Arguments for the invocation - Culture - Result of the invocation - - - - Extracts the most appropriate generic method signature from the current private type. - - The name of the method in which to search the signature cache. - An array of types corresponding to the types of the parameters in which to search. - An array of types corresponding to the types of the generic arguments. - to further filter the method signatures. - Modifiers for parameters. - A methodinfo instance. - - - - This class represents a private class for the Private Accessor functionality. - - - - - Binds to everything - - - - - The wrapped type. - - - - - Initializes a new instance of the class that contains the private type. - - Assembly name - fully qualified name of the - - - - Initializes a new instance of the class that contains - the private type from the type object - - The wrapped Type to create. - - - - Gets the referenced type - - - - - Invokes static member - - Name of the member to InvokeHelper - Arguements to the invoction - Result of invocation - - - - Invokes static member - - Name of the member to InvokeHelper - An array of objects representing the number, order, and type of the parameters for the method to invoke - Arguements to the invoction - Result of invocation - - - - Invokes static member - - Name of the member to InvokeHelper - An array of objects representing the number, order, and type of the parameters for the method to invoke - Arguements to the invoction - An array of types corresponding to the types of the generic arguments. - Result of invocation - - - - Invokes the static method - - Name of the member - Arguements to the invocation - Culture - Result of invocation - - - - Invokes the static method - - Name of the member - An array of objects representing the number, order, and type of the parameters for the method to invoke - Arguements to the invocation - Culture info - Result of invocation - - - - Invokes the static method - - Name of the member - Additional invocation attributes - Arguements to the invocation - Result of invocation - - - - Invokes the static method - - Name of the member - Additional invocation attributes - An array of objects representing the number, order, and type of the parameters for the method to invoke - Arguements to the invocation - Result of invocation - - - - Invokes the static method - - Name of the member - Additional invocation attributes - Arguements to the invocation - Culture - Result of invocation - - - - Invokes the static method - - Name of the member - Additional invocation attributes - /// An array of objects representing the number, order, and type of the parameters for the method to invoke - Arguements to the invocation - Culture - Result of invocation - - - - Invokes the static method - - Name of the member - Additional invocation attributes - /// An array of objects representing the number, order, and type of the parameters for the method to invoke - Arguements to the invocation - Culture - An array of types corresponding to the types of the generic arguments. - Result of invocation - - - - Gets the element in static array - - Name of the array - - A one-dimensional array of 32-bit integers that represent the indexes specifying - the position of the element to get. For instance, to access a[10][11] the indices would be {10,11} - - element at the specified location - - - - Sets the memeber of the static array - - Name of the array - value to set - - A one-dimensional array of 32-bit integers that represent the indexes specifying - the position of the element to set. For instance, to access a[10][11] the array would be {10,11} - - - - - Gets the element in satatic array - - Name of the array - Additional InvokeHelper attributes - - A one-dimensional array of 32-bit integers that represent the indexes specifying - the position of the element to get. For instance, to access a[10][11] the array would be {10,11} - - element at the spcified location - - - - Sets the memeber of the static array - - Name of the array - Additional InvokeHelper attributes - value to set - - A one-dimensional array of 32-bit integers that represent the indexes specifying - the position of the element to set. For instance, to access a[10][11] the array would be {10,11} - - - - - Gets the static field - - Name of the field - The static field. - - - - Sets the static field - - Name of the field - Arguement to the invocation - - - - Gets the static field using specified InvokeHelper attributes - - Name of the field - Additional invocation attributes - The static field. - - - - Sets the static field using binding attributes - - Name of the field - Additional InvokeHelper attributes - Arguement to the invocation - - - - Gets the static field or property - - Name of the field or property - The static field or property. - - - - Sets the static field or property - - Name of the field or property - Value to be set to field or property - - - - Gets the static field or property using specified InvokeHelper attributes - - Name of the field or property - Additional invocation attributes - The static field or property. - - - - Sets the static field or property using binding attributes - - Name of the field or property - Additional invocation attributes - Value to be set to field or property - - - - Gets the static property - - Name of the field or property - Arguements to the invocation - The static property. - - - - Sets the static property - - Name of the property - Value to be set to field or property - Arguments to pass to the member to invoke. - - - - Sets the static property - - Name of the property - Value to be set to field or property - An array of objects representing the number, order, and type of the parameters for the indexed property. - Arguments to pass to the member to invoke. - - - - Gets the static property - - Name of the property - Additional invocation attributes. - Arguments to pass to the member to invoke. - The static property. - - - - Gets the static property - - Name of the property - Additional invocation attributes. - An array of objects representing the number, order, and type of the parameters for the indexed property. - Arguments to pass to the member to invoke. - The static property. - - - - Sets the static property - - Name of the property - Additional invocation attributes. - Value to be set to field or property - Optional index values for indexed properties. The indexes of indexed properties are zero-based. This value should be null for non-indexed properties. - - - - Sets the static property - - Name of the property - Additional invocation attributes. - Value to be set to field or property - An array of objects representing the number, order, and type of the parameters for the indexed property. - Arguments to pass to the member to invoke. - - - - Invokes the static method - - Name of the member - Additional invocation attributes - Arguements to the invocation - Culture - Result of invocation - - - - Provides method signature discovery for generic methods. - - - - - Compares the method signatures of these two methods. - - Method1 - Method2 - True if they are similiar. - - - - Gets the hierarchy depth from the base type of the provided type. - - The type. - The depth. - - - - Finds most dervied type with the provided information. - - Candidate matches. - Number of matches. - The most derived method. - - - - Given a set of methods that match the base criteria, select a method based - upon an array of types. This method should return null if no method matches - the criteria. - - Binding specification. - Candidate matches - Types - Parameter modifiers. - Matching method. Null if none matches. - - - - Finds the most specific method in the two methods provided. - - Method 1 - Parameter order for Method 1 - Paramter array type. - Method 2 - Parameter order for Method 2 - >Paramter array type. - Types to search in. - Args. - An int representing the match. - - - - Finds the most specific method in the two methods provided. - - Method 1 - Parameter order for Method 1 - Paramter array type. - Method 2 - Parameter order for Method 2 - >Paramter array type. - Types to search in. - Args. - An int representing the match. - - - - Finds the most specific type in the two provided. - - Type 1 - Type 2 - The defining type - An int representing the match. - - - - Used to store information that is provided to unit tests. - - - - - Gets test properties for a test. - - - - - Gets the current data row when test is used for data driven testing. - - - - - Gets current data connection row when test is used for data driven testing. - - - - - Gets base directory for the test run, under which deployed files and result files are stored. - - - - - Gets directory for files deployed for the test run. Typically a subdirectory of . - - - - - Gets base directory for results from the test run. Typically a subdirectory of . - - - - - Gets directory for test run result files. Typically a subdirectory of . - - - - - Gets directory for test result files. - - - - - Gets base directory for the test run, under which deployed files and result files are stored. - Same as . Use that property instead. - - - - - Gets directory for files deployed for the test run. Typically a subdirectory of . - Same as . Use that property instead. - - - - - Gets directory for test run result files. Typically a subdirectory of . - Same as . Use that property for test run result files, or - for test-specific result files instead. - - - - - Gets the Fully-qualified name of the class containing the test method currently being executed - - - - - Gets the name of the test method currently being executed - - - - - Gets the current test outcome. - - - - - Used to write trace messages while the test is running - - formatted message string - - - - Used to write trace messages while the test is running - - format string - the arguments - - - - Adds a file name to the list in TestResult.ResultFileNames - - - The file Name. - - - - - Begins a timer with the specified name - - Name of the timer. - - - - Ends a timer with the specified name - - Name of the timer. - - - diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll deleted file mode 100644 index 3effa4cbd538c38c8d6f5c486ab473fd0072ae8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39808 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 - - - Microsoft.VisualStudio.TestPlatform.TestFramework - - - - - TestMethod for execution. - - - - - Gets the name of test method. - - - - - Gets the name of test class. - - - - - Gets the return type of test method. - - - - - Gets the parameters of test method. - - - - - Gets the methodInfo for test method. - - - This is just to retrieve additional information about the method. - Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. - - - - - Invokes the test method. - - - Arguments to pass to test method. (E.g. For data driven) - - - Result of test method invocation. - - - This call handles asynchronous test methods as well. - - - - - Get all attributes of the test method. - - - Whether attribute defined in parent class is valid. - - - All attributes. - - - - - Get attribute of specific type. - - System.Attribute type. - - Whether attribute defined in parent class is valid. - - - The attributes of the specified type. - - - - - The helper. - - - - - The check parameter not null. - - - The parameter. - - - The parameter name. - - - The message. - - Throws argument null exception when parameter is null. - - - - The check parameter not null or empty. - - - The parameter. - - - The parameter name. - - - The message. - - Throws ArgumentException when parameter is null. - - - - Enumeration for how how we access data rows in data driven testing. - - - - - Rows are returned in sequential order. - - - - - Rows are returned in random order. - - - - - Attribute to define inline data for a test method. - - - - - Initializes a new instance of the class. - - The data object. - - - - Initializes a new instance of the class which takes in an array of arguments. - - A data object. - More data. - - - - Gets data for calling test method. - - - - - Gets or sets display name in test results for customization. - - - - - The assert inconclusive exception. - - - - - Initializes a new instance of the class. - - The message. - The exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - InternalTestFailureException class. Used to indicate internal failure for a test case - - - This class is only added to preserve source compatibility with the V1 framework. - For all practical purposes either use AssertFailedException/AssertInconclusiveException. - - - - - Initializes a new instance of the class. - - The exception message. - The exception. - - - - Initializes a new instance of the class. - - The exception message. - - - - Initializes a new instance of the class. - - - - - Attribute that specifies to expect an exception of the specified type - - - - - Initializes a new instance of the class with the expected type - - Type of the expected exception - - - - Initializes a new instance of the class with - the expected type and the message to include when no exception is thrown by the test. - - Type of the expected exception - - Message to include in the test result if the test fails due to not throwing an exception - - - - - Gets a value indicating the Type of the expected exception - - - - - Gets or sets a value indicating whether to allow types derived from the type of the expected exception to - qualify as expected - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Verifies that the type of the exception thrown by the unit test is expected - - The exception thrown by the unit test - - - - Base class for attributes that specify to expect an exception from a unit test - - - - - Initializes a new instance of the class with a default no-exception message - - - - - Initializes a new instance of the class with a no-exception message - - - Message to include in the test result if the test fails due to not throwing an - exception - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Gets the default no-exception message - - The ExpectedException attribute type name - The default no-exception message - - - - Determines whether the exception is expected. If the method returns, then it is - understood that the exception was expected. If the method throws an exception, then it - is understood that the exception was not expected, and the thrown exception's message - is included in the test result. The class can be used for - convenience. If is used and the assertion fails, - then the test outcome is set to Inconclusive. - - The exception thrown by the unit test - - - - Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException - - The exception to rethrow if it is an assertion exception - - - - This class is designed to help user doing unit testing for types which uses generic types. - GenericParameterHelper satisfies some common generic type constraints - such as: - 1. public default constructor - 2. implements common interface: IComparable, IEnumerable - - - - - Initializes a new instance of the class that - satisfies the 'newable' constraint in C# generics. - - - This constructor initializes the Data property to a random value. - - - - - Initializes a new instance of the class that - initializes the Data property to a user-supplied value. - - Any integer value - - - - Gets or sets the Data - - - - - Do the value comparison for two GenericParameterHelper object - - object to do comparison with - true if obj has the same value as 'this' GenericParameterHelper object. - false otherwise. - - - - Returns a hashcode for this object. - - The hash code. - - - - Compares the data of the two objects. - - The object to compare with. - - A signed number indicating the relative values of this instance and value. - - - Thrown when the object passed in is not an instance of . - - - - - Returns an IEnumerator object whose length is derived from - the Data property. - - The IEnumerator object - - - - Returns a GenericParameterHelper object that is equal to - the current object. - - The cloned object. - - - - Enables users to log/write traces from unit tests for diagnostics. - - - - - Handler for LogMessage. - - Message to log. - - - - Event to listen. Raised when unit test writer writes some message. - Mainly to consume by adapter. - - - - - API for test writer to call to Log messages. - - String format with placeholders. - Parameters for placeholders. - - - - TestCategory attribute; used to specify the category of a unit test. - - - - - Initializes a new instance of the class and applies the category to the test. - - - The test Category. - - - - - Gets the test categories that has been applied to the test. - - - - - Base class for the "Category" attribute - - - The reason for this attribute is to let the users create their own implementation of test categories. - - test framework (discovery, etc) deals with TestCategoryBaseAttribute. - - The reason that TestCategories property is a collection rather than a string, - is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed - in which case it makes sense to have single attribute rather than multiple ones on the same test. - - - - - Initializes a new instance of the class. - Applies the category to the test. The strings returned by TestCategories - are used with the /category command to filter tests - - - - - Gets the test category that has been applied to the test. - - - - - AssertFailedException class. Used to indicate failure for a test case - - - - - Initializes a new instance of the class. - - The message. - The exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - A collection of helper classes to test various conditions within - unit tests. If the condition being tested is not met, an exception - is thrown. - - - - - Gets the singleton instance of the Assert functionality. - - - Users can use this to plug-in custom assertions through C# extension methods. - For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" - Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" - More documentation is at "https://github.com/Microsoft/testfx-docs". - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - Thrown if is false. - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - The message to include in the exception when - is false. The message is shown in test results. - - - Thrown if is false. - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - The message to include in the exception when - is false. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is false. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - Thrown if is true. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - The message to include in the exception when - is true. The message is shown in test results. - - - Thrown if is true. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - The message to include in the exception when - is true. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is true. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - Thrown if is not null. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - The message to include in the exception when - is not null. The message is shown in test results. - - - Thrown if is not null. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - The message to include in the exception when - is not null. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - Thrown if is null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - The message to include in the exception when - is null. The message is shown in test results. - - - Thrown if is null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - The message to include in the exception when - is null. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is null. - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not the same as . The message is shown - in test results. - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not the same as . The message is shown - in test results. - - - An array of parameters to use when formatting . - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is the same as . The message is shown in - test results. - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is the same as . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - Thrown if is not equal to . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - Thrown if is equal to . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - Thrown if is equal to . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - Thrown if is equal to . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - Thrown if is equal to . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - Thrown if is not equal to - . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - The message to include in the exception when - is not an instance of . The message is - shown in test results. - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - The message to include in the exception when - is not an instance of . The message is - shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - The message to include in the exception when - is an instance of . The message is shown - in test results. - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - The message to include in the exception when - is an instance of . The message is shown - in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Throws an AssertFailedException. - - - Always thrown. - - - - - Throws an AssertFailedException. - - - The message to include in the exception. The message is shown in - test results. - - - Always thrown. - - - - - Throws an AssertFailedException. - - - The message to include in the exception. The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - The message to include in the exception. The message is shown in - test results. - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - The message to include in the exception. The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Always thrown. - - - - - Static equals overloads are used for comparing instances of two types for reference - equality. This method should not be used for comparison of two instances for - equality. This object will always throw with Assert.Fail. Please use - Assert.AreEqual and associated overloads in your unit tests. - - Object A - Object B - False, always. - - - - Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) - and throws - - AssertFailedException - - if code does not throws exception or throws exception of type other than . - - - Delegate to code to be tested and which is expected to throw exception. - - - Type of exception expected to be thrown. - - - Thrown if does not throws exception of type . - - - The type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 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". - - - - - 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 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". - - - - - 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 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 DataRowAttribute specified. Atleast one DataRowAttribute 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 - - - - - Provides helper functionality for the unit test framework - - - - - Gets the exception messages, including the messages for all inner exceptions - recursively - - Exception to get messages for - string with error message information - - - - Enumeration for timeouts, that can be used with the class. - The type of the enumeration must match - - - - - The infinite. - - - - - The test class attribute. - - - - - Gets a test method attribute that enables running this test. - - The test method attribute instance defined on this method. - The to be used to run this test. - Extensions can override this method to customize how all methods in a class are run. - - - - The test method attribute. - - - - - Executes a test method. - - The test method to execute. - An array of TestResult objects that represent the outcome(s) of the test. - Extensions can override this method to customize running a TestMethod. - - - - The test initialize attribute. - - - - - The test cleanup attribute. - - - - - The ignore attribute. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - Message specifies reason for ignoring. - - - - - Gets the owner. - - - - - The test property attribute. - - - - - Initializes a new instance of the class. - - - The name. - - - The value. - - - - - Gets the name. - - - - - Gets the value. - - - - - The class initialize attribute. - - - - - The class cleanup attribute. - - - - - The assembly initialize attribute. - - - - - The assembly cleanup attribute. - - - - - Test Owner - - - - - Initializes a new instance of the class. - - - The owner. - - - - - Gets the owner. - - - - - Priority attribute; used to specify the priority of a unit test. - - - - - Initializes a new instance of the class. - - - The priority. - - - - - Gets the priority. - - - - - Description of the test - - - - - Initializes a new instance of the class to describe a test. - - The description. - - - - Gets the description of a test. - - - - - CSS Project Structure URI - - - - - Initializes a new instance of the class for CSS Project Structure URI. - - The CSS Project Structure URI. - - - - Gets the CSS Project Structure URI. - - - - - CSS Iteration URI - - - - - Initializes a new instance of the class for CSS Iteration URI. - - The CSS Iteration URI. - - - - Gets the CSS Iteration URI. - - - - - WorkItem attribute; used to specify a work item associated with this test. - - - - - Initializes a new instance of the class for the WorkItem Attribute. - - The Id to a work item. - - - - Gets the Id to a workitem associated. - - - - - Timeout attribute; used to specify the timeout of a unit test. - - - - - Initializes a new instance of the class. - - - The timeout. - - - - - Initializes a new instance of the class with a preset timeout - - - The timeout - - - - - Gets the timeout. - - - - - TestResult object to be returned to adapter. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the display name of the result. Useful when returning multiple results. - If null then Method name is used as DisplayName. - - - - - Gets or sets the outcome of the test execution. - - - - - Gets or sets the exception thrown when test is failed. - - - - - Gets or sets the output of the message logged by test code. - - - - - Gets or sets the output of the message logged by test code. - - - - - Gets or sets the debug traces by test code. - - - - - Gets or sets the debug traces by test code. - - - - - Gets or sets the 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. - - - - - Attribute for data driven test where data can be specified inline. - - - - - Find all data rows and execute. - - - The test Method. - - - An array of . - - - - - Run data driven test method. - - Test method to execute. - Data Row. - Results of execution. - - - diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll deleted file mode 100644 index c8483c2f1b7f8a2cc32b8ef65b1ce67de7a69c0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69968 zcmeFa2Yg(`wLd;{clYjURje*smgJS|T9($5Y|8~37fCMQZn*#^_FB8L1(H_mu564E z$n+iv7(znFbdnHS2oDkyN+5Iy1OhlXw2(&)p@aE<&zZS*ccrx{zxUqf_xb&wY@Ivj z%$YN1&YU?@ZqcGc&lL_KgcHBtd?UnNxYExohWiJ7$j%vdcaFF{|SZGV?~qsHTK#)b;vJ*H}|;fKw<)kG<0%8v|x1rkQd z*@fuIQN@m{{5fb-)xQ+oS>sVTxrX69r@dqivoVX|&juq3IEz)X1PuOR5LQ)TY(vjE ztA-nnUQU4EvIv|QZ8)6%N2nt3_|YU2h5T?Yv#P;x9Or`+|6syIL9HPc=mr{2KXOb* zO=c7Z?T%Ga6P`lTq<=V-7y;m57#WFVO|Jh7uq$3}F6t^Jsn7@ArWE7^2yTnOi97wH zNa9!E9;{7c_+fT4G8*)&MwJ*;rFoTq4A3g*S5Ry6ScPJFj))&rui=MkX7%B!AnRo& zw3~J|N zq-ND-?IaF3P6Unhj&mtS&b?5XLU~r6;itBPW*rkOAO2#Vf- zQCx*&9g^g)QVfC|_&xMt3Hicbuk#E61u&|uI=p6ek>bkCmu7_6{S$~c3V-d6O+@k- z)y8=!2LouC!@P%kjcw4saN(FQBC5 z!_I1t(|;-mdWZ9srFiV9l0kym zA{c~T|AE|>g9ph0v>}6x{F2^r3Y|B=cw*$v#f@??V@mSiwalf90! z{J_$3lGgJ1|7H`hf27g!M@d?8n*24nUuVIV)USL+ztZ)G^y}<2{iC27fN#CoS6lakj3FW5-ASi?Eh%BoNi zuoiYAS7Y!4Q{1Qh)x~Ze{X3!z$Ae-X&Hhs$hYI;mLt^ShV0P9VWD{y;s^R|(GOa+H z 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 AWB>pF diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 055948f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 3f446b4..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4197 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 6dc91e9..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index ae68026..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 17b74f5..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 5b05af9..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4199 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index fcb3e3f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 2d63dc0..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index d743158..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index d3540c8..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 629a4bc..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 922b5b1..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 621cef0..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 22e769a..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index ec60083..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 5593384..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index e39df20..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 2b63dd5..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 58bcdd9..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index f278594..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4202 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index b864a5e..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index b7a0029..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 35e3696..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 0ccce3f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 2d6cc37..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,1097 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 611e17b..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML deleted file mode 100644 index b16ff3f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML +++ /dev/null @@ -1,93 +0,0 @@ - - - - Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions - - - - - Used to specify deployment item (file or directory) for per-test deployment. - Can be specified on test class or test method. - Can have multiple instances of the attribute to specify more than one item. - The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. - - - [DeploymentItem("file1.xml")] - [DeploymentItem("file2.xml", "DataFiles")] - [DeploymentItem("bin\Debug")] - - - DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. - - - - - Initializes a new instance of the class. - - The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. - - - - Initializes a new instance of the class - - The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. - The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. - - - - Gets the path of the source file or folder to be copied. - - - - - Gets the path of the directory to which the item is copied. - - - - - TestContext class. This class should be fully abstract and not contain any - members. The adapter will implement the members. Users in the framework should - only access this via a well-defined interface. - - - - - Gets test properties for a test. - - - - - Gets Fully-qualified name of the class containing the test method currently being executed - - - This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. - Those attributes have access to the test context, and provide messages that are included - in the test results. Users can benefit from messages that include the fully-qualified - class name in addition to the name of the test method currently being executed. - - - - - Gets the Name of the test method currently being executed - - - - - Gets the current test outcome. - - - - - Used to write trace messages while the test is running - - formatted message string - - - - Used to write trace messages while the test is running - - format string - the arguments - - - diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll deleted file mode 100644 index 85c1df7b045b0c3c6335c7f0e4563ab246baf1c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22912 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 - - - Microsoft.VisualStudio.TestPlatform.TestFramework - - - - - TestMethod for execution. - - - - - Gets the name of test method. - - - - - Gets the name of test class. - - - - - Gets the return type of test method. - - - - - Gets the parameters of test method. - - - - - Gets the methodInfo for test method. - - - This is just to retrieve additional information about the method. - Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. - - - - - Invokes the test method. - - - Arguments to pass to test method. (E.g. For data driven) - - - Result of test method invocation. - - - This call handles asynchronous test methods as well. - - - - - Get all attributes of the test method. - - - Whether attribute defined in parent class is valid. - - - All attributes. - - - - - Get attribute of specific type. - - System.Attribute type. - - Whether attribute defined in parent class is valid. - - - The attributes of the specified type. - - - - - The helper. - - - - - The check parameter not null. - - - The parameter. - - - The parameter name. - - - The message. - - Throws argument null exception when parameter is null. - - - - The check parameter not null or empty. - - - The parameter. - - - The parameter name. - - - The message. - - Throws ArgumentException when parameter is null. - - - - Enumeration for how how we access data rows in data driven testing. - - - - - Rows are returned in sequential order. - - - - - Rows are returned in random order. - - - - - Attribute to define inline data for a test method. - - - - - Initializes a new instance of the class. - - The data object. - - - - Initializes a new instance of the class which takes in an array of arguments. - - A data object. - More data. - - - - Gets data for calling test method. - - - - - Gets or sets display name in test results for customization. - - - - - The assert inconclusive exception. - - - - - Initializes a new instance of the class. - - The message. - The exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - InternalTestFailureException class. Used to indicate internal failure for a test case - - - This class is only added to preserve source compatibility with the V1 framework. - For all practical purposes either use AssertFailedException/AssertInconclusiveException. - - - - - Initializes a new instance of the class. - - The exception message. - The exception. - - - - Initializes a new instance of the class. - - The exception message. - - - - Initializes a new instance of the class. - - - - - Attribute that specifies to expect an exception of the specified type - - - - - Initializes a new instance of the class with the expected type - - Type of the expected exception - - - - Initializes a new instance of the class with - the expected type and the message to include when no exception is thrown by the test. - - Type of the expected exception - - Message to include in the test result if the test fails due to not throwing an exception - - - - - Gets a value indicating the Type of the expected exception - - - - - Gets or sets a value indicating whether to allow types derived from the type of the expected exception to - qualify as expected - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Verifies that the type of the exception thrown by the unit test is expected - - The exception thrown by the unit test - - - - Base class for attributes that specify to expect an exception from a unit test - - - - - Initializes a new instance of the class with a default no-exception message - - - - - Initializes a new instance of the class with a no-exception message - - - Message to include in the test result if the test fails due to not throwing an - exception - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Gets the default no-exception message - - The ExpectedException attribute type name - The default no-exception message - - - - Determines whether the exception is expected. If the method returns, then it is - understood that the exception was expected. If the method throws an exception, then it - is understood that the exception was not expected, and the thrown exception's message - is included in the test result. The class can be used for - convenience. If is used and the assertion fails, - then the test outcome is set to Inconclusive. - - The exception thrown by the unit test - - - - Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException - - The exception to rethrow if it is an assertion exception - - - - This class is designed to help user doing unit testing for types which uses generic types. - GenericParameterHelper satisfies some common generic type constraints - such as: - 1. public default constructor - 2. implements common interface: IComparable, IEnumerable - - - - - Initializes a new instance of the class that - satisfies the 'newable' constraint in C# generics. - - - This constructor initializes the Data property to a random value. - - - - - Initializes a new instance of the class that - initializes the Data property to a user-supplied value. - - Any integer value - - - - Gets or sets the Data - - - - - Do the value comparison for two GenericParameterHelper object - - object to do comparison with - true if obj has the same value as 'this' GenericParameterHelper object. - false otherwise. - - - - Returns a hashcode for this object. - - The hash code. - - - - Compares the data of the two objects. - - The object to compare with. - - A signed number indicating the relative values of this instance and value. - - - Thrown when the object passed in is not an instance of . - - - - - Returns an IEnumerator object whose length is derived from - the Data property. - - The IEnumerator object - - - - Returns a GenericParameterHelper object that is equal to - the current object. - - The cloned object. - - - - Enables users to log/write traces from unit tests for diagnostics. - - - - - Handler for LogMessage. - - Message to log. - - - - Event to listen. Raised when unit test writer writes some message. - Mainly to consume by adapter. - - - - - API for test writer to call to Log messages. - - String format with placeholders. - Parameters for placeholders. - - - - TestCategory attribute; used to specify the category of a unit test. - - - - - Initializes a new instance of the class and applies the category to the test. - - - The test Category. - - - - - Gets the test categories that has been applied to the test. - - - - - Base class for the "Category" attribute - - - The reason for this attribute is to let the users create their own implementation of test categories. - - test framework (discovery, etc) deals with TestCategoryBaseAttribute. - - The reason that TestCategories property is a collection rather than a string, - is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed - in which case it makes sense to have single attribute rather than multiple ones on the same test. - - - - - Initializes a new instance of the class. - Applies the category to the test. The strings returned by TestCategories - are used with the /category command to filter tests - - - - - Gets the test category that has been applied to the test. - - - - - AssertFailedException class. Used to indicate failure for a test case - - - - - Initializes a new instance of the class. - - The message. - The exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - A collection of helper classes to test various conditions within - unit tests. If the condition being tested is not met, an exception - is thrown. - - - - - Gets the singleton instance of the Assert functionality. - - - Users can use this to plug-in custom assertions through C# extension methods. - For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" - Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" - More documentation is at "https://github.com/Microsoft/testfx-docs". - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - Thrown if is false. - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - The message to include in the exception when - is false. The message is shown in test results. - - - Thrown if is false. - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - The message to include in the exception when - is false. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is false. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - Thrown if is true. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - The message to include in the exception when - is true. The message is shown in test results. - - - Thrown if is true. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - The message to include in the exception when - is true. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is true. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - Thrown if is not null. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - The message to include in the exception when - is not null. The message is shown in test results. - - - Thrown if is not null. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - The message to include in the exception when - is not null. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - Thrown if is null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - The message to include in the exception when - is null. The message is shown in test results. - - - Thrown if is null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - The message to include in the exception when - is null. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is null. - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not the same as . The message is shown - in test results. - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not the same as . The message is shown - in test results. - - - An array of parameters to use when formatting . - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is the same as . The message is shown in - test results. - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is the same as . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - Thrown if is not equal to . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - Thrown if is equal to . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - Thrown if is equal to . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - Thrown if is equal to . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - Thrown if is equal to . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - Thrown if is not equal to - . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - The message to include in the exception when - is not an instance of . The message is - shown in test results. - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - The message to include in the exception when - is not an instance of . The message is - shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - The message to include in the exception when - is an instance of . The message is shown - in test results. - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - The message to include in the exception when - is an instance of . The message is shown - in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Throws an AssertFailedException. - - - Always thrown. - - - - - Throws an AssertFailedException. - - - The message to include in the exception. The message is shown in - test results. - - - Always thrown. - - - - - Throws an AssertFailedException. - - - The message to include in the exception. The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - The message to include in the exception. The message is shown in - test results. - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - The message to include in the exception. The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Always thrown. - - - - - Static equals overloads are used for comparing instances of two types for reference - equality. This method should not be used for comparison of two instances for - equality. This object will always throw with Assert.Fail. Please use - Assert.AreEqual and associated overloads in your unit tests. - - Object A - Object B - False, always. - - - - Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) - and throws - - AssertFailedException - - if code does not throws exception or throws exception of type other than . - - - Delegate to code to be tested and which is expected to throw exception. - - - Type of exception expected to be thrown. - - - Thrown if does not throws exception of type . - - - The type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 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". - - - - - 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 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". - - - - - 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 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 DataRowAttribute specified. Atleast one DataRowAttribute 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 - - - - - Provides helper functionality for the unit test framework - - - - - Gets the exception messages, including the messages for all inner exceptions - recursively - - Exception to get messages for - string with error message information - - - - Enumeration for timeouts, that can be used with the class. - The type of the enumeration must match - - - - - The infinite. - - - - - The test class attribute. - - - - - Gets a test method attribute that enables running this test. - - The test method attribute instance defined on this method. - The to be used to run this test. - Extensions can override this method to customize how all methods in a class are run. - - - - The test method attribute. - - - - - Executes a test method. - - The test method to execute. - An array of TestResult objects that represent the outcome(s) of the test. - Extensions can override this method to customize running a TestMethod. - - - - The test initialize attribute. - - - - - The test cleanup attribute. - - - - - The ignore attribute. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - Message specifies reason for ignoring. - - - - - Gets the owner. - - - - - The test property attribute. - - - - - Initializes a new instance of the class. - - - The name. - - - The value. - - - - - Gets the name. - - - - - Gets the value. - - - - - The class initialize attribute. - - - - - The class cleanup attribute. - - - - - The assembly initialize attribute. - - - - - The assembly cleanup attribute. - - - - - Test Owner - - - - - Initializes a new instance of the class. - - - The owner. - - - - - Gets the owner. - - - - - Priority attribute; used to specify the priority of a unit test. - - - - - Initializes a new instance of the class. - - - The priority. - - - - - Gets the priority. - - - - - Description of the test - - - - - Initializes a new instance of the class to describe a test. - - The description. - - - - Gets the description of a test. - - - - - CSS Project Structure URI - - - - - Initializes a new instance of the class for CSS Project Structure URI. - - The CSS Project Structure URI. - - - - Gets the CSS Project Structure URI. - - - - - CSS Iteration URI - - - - - Initializes a new instance of the class for CSS Iteration URI. - - The CSS Iteration URI. - - - - Gets the CSS Iteration URI. - - - - - WorkItem attribute; used to specify a work item associated with this test. - - - - - Initializes a new instance of the class for the WorkItem Attribute. - - The Id to a work item. - - - - Gets the Id to a workitem associated. - - - - - Timeout attribute; used to specify the timeout of a unit test. - - - - - Initializes a new instance of the class. - - - The timeout. - - - - - Initializes a new instance of the class with a preset timeout - - - The timeout - - - - - Gets the timeout. - - - - - TestResult object to be returned to adapter. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the display name of the result. Useful when returning multiple results. - If null then Method name is used as DisplayName. - - - - - Gets or sets the outcome of the test execution. - - - - - Gets or sets the exception thrown when test is failed. - - - - - Gets or sets the output of the message logged by test code. - - - - - Gets or sets the output of the message logged by test code. - - - - - Gets or sets the debug traces by test code. - - - - - Gets or sets the debug traces by test code. - - - - - Gets or sets the 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. - - - - - Attribute for data driven test where data can be specified inline. - - - - - Find all data rows and execute. - - - The test Method. - - - An array of . - - - - - Run data driven test method. - - Test method to execute. - Data Row. - Results of execution. - - - diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll deleted file mode 100644 index c8483c2f1b7f8a2cc32b8ef65b1ce67de7a69c0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69968 zcmeFa2Yg(`wLd;{clYjURje*smgJS|T9($5Y|8~37fCMQZn*#^_FB8L1(H_mu564E z$n+iv7(znFbdnHS2oDkyN+5Iy1OhlXw2(&)p@aE<&zZS*ccrx{zxUqf_xb&wY@Ivj z%$YN1&YU?@ZqcGc&lL_KgcHBtd?UnNxYExohWiJ7$j%vdcaFF{|SZGV?~qsHTK#)b;vJ*H}|;fKw<)kG<0%8v|x1rkQd z*@fuIQN@m{{5fb-)xQ+oS>sVTxrX69r@dqivoVX|&juq3IEz)X1PuOR5LQ)TY(vjE ztA-nnUQU4EvIv|QZ8)6%N2nt3_|YU2h5T?Yv#P;x9Or`+|6syIL9HPc=mr{2KXOb* zO=c7Z?T%Ga6P`lTq<=V-7y;m57#WFVO|Jh7uq$3}F6t^Jsn7@ArWE7^2yTnOi97wH zNa9!E9;{7c_+fT4G8*)&MwJ*;rFoTq4A3g*S5Ry6ScPJFj))&rui=MkX7%B!AnRo& zw3~J|N zq-ND-?IaF3P6Unhj&mtS&b?5XLU~r6;itBPW*rkOAO2#Vf- zQCx*&9g^g)QVfC|_&xMt3Hicbuk#E61u&|uI=p6ek>bkCmu7_6{S$~c3V-d6O+@k- z)y8=!2LouC!@P%kjcw4saN(FQBC5 z!_I1t(|;-mdWZ9srFiV9l0kym zA{c~T|AE|>g9ph0v>}6x{F2^r3Y|B=cw*$v#f@??V@mSiwalf90! z{J_$3lGgJ1|7H`hf27g!M@d?8n*24nUuVIV)USL+ztZ)G^y}<2{iC27fN#CoS6lakj3FW5-ASi?Eh%BoNi zuoiYAS7Y!4Q{1Qh)x~Ze{X3!z$Ae-X&Hhs$hYI;mLt^ShV0P9VWD{y;s^R|(GOa+H z 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 AWB>pF diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 5b20a57..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 3f446b4..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4197 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 81af003..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index ae68026..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 47b3d8c..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 5b05af9..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4199 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 2c1d88a..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 2d63dc0..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 45a5e13..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index d3540c8..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index c863ca9..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 922b5b1..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 8099563..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 22e769a..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index d507bf2..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 5593384..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 7fe8bca..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 2b63dd5..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index f697706..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index f278594..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4202 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index cfddb52..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index b7a0029..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index c839eab..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 0ccce3f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index f335cdf..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 611e17b..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML deleted file mode 100644 index e6410aa..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML +++ /dev/null @@ -1,113 +0,0 @@ - - - - Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions - - - - - Used to specify deployment item (file or directory) for per-test deployment. - Can be specified on test class or test method. - Can have multiple instances of the attribute to specify more than one item. - The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. - - - [DeploymentItem("file1.xml")] - [DeploymentItem("file2.xml", "DataFiles")] - [DeploymentItem("bin\Debug")] - - - Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. - We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. - Filed https://github.com/Microsoft/testfx/issues/100 to track this. - - - - - Initializes a new instance of the class. - - The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. - - - - Initializes a new instance of the class - - The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. - The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. - - - - Gets the path of the source file or folder to be copied. - - - - - Gets the path of the directory to which the item is copied. - - - - - Execute test code in UI thread for Windows store apps. - - - - - Executes the test method on the UI Thread. - - - The test method. - - - An array of instances. - - Throws when run on an async test method. - - - - - TestContext class. This class should be fully abstract and not contain any - members. The adapter will implement the members. Users in the framework should - only access this via a well-defined interface. - - - - - Gets test properties for a test. - - - - - Gets Fully-qualified name of the class containing the test method currently being executed - - - This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. - Those attributes have access to the test context, and provide messages that are included - in the test results. Users can benefit from messages that include the fully-qualified - class name in addition to the name of the test method currently being executed. - - - - - Gets the Name of the test method currently being executed - - - - - Gets the current test outcome. - - - - - Used to write trace messages while the test is running - - formatted message string - - - - Used to write trace messages while the test is running - - format string - the arguments - - - diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll deleted file mode 100644 index 02712a9be6f6738e630323d68e0855afb66b9bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25984 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 bdUDuvVVm5DsV^^Rf88+WzWJDX%xL~U--z)C diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML deleted file mode 100644 index af5e255..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML +++ /dev/null @@ -1,4219 +0,0 @@ - - - - Microsoft.VisualStudio.TestPlatform.TestFramework - - - - - TestMethod for execution. - - - - - Gets the name of test method. - - - - - Gets the name of test class. - - - - - Gets the return type of test method. - - - - - Gets the parameters of test method. - - - - - Gets the methodInfo for test method. - - - This is just to retrieve additional information about the method. - Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. - - - - - Invokes the test method. - - - Arguments to pass to test method. (E.g. For data driven) - - - Result of test method invocation. - - - This call handles asynchronous test methods as well. - - - - - Get all attributes of the test method. - - - Whether attribute defined in parent class is valid. - - - All attributes. - - - - - Get attribute of specific type. - - System.Attribute type. - - Whether attribute defined in parent class is valid. - - - The attributes of the specified type. - - - - - The helper. - - - - - The check parameter not null. - - - The parameter. - - - The parameter name. - - - The message. - - Throws argument null exception when parameter is null. - - - - The check parameter not null or empty. - - - The parameter. - - - The parameter name. - - - The message. - - Throws ArgumentException when parameter is null. - - - - Enumeration for how how we access data rows in data driven testing. - - - - - Rows are returned in sequential order. - - - - - Rows are returned in random order. - - - - - Attribute to define inline data for a test method. - - - - - Initializes a new instance of the class. - - The data object. - - - - Initializes a new instance of the class which takes in an array of arguments. - - A data object. - More data. - - - - Gets data for calling test method. - - - - - Gets or sets display name in test results for customization. - - - - - The assert inconclusive exception. - - - - - Initializes a new instance of the class. - - The message. - The exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - InternalTestFailureException class. Used to indicate internal failure for a test case - - - This class is only added to preserve source compatibility with the V1 framework. - For all practical purposes either use AssertFailedException/AssertInconclusiveException. - - - - - Initializes a new instance of the class. - - The exception message. - The exception. - - - - Initializes a new instance of the class. - - The exception message. - - - - Initializes a new instance of the class. - - - - - Attribute that specifies to expect an exception of the specified type - - - - - Initializes a new instance of the class with the expected type - - Type of the expected exception - - - - Initializes a new instance of the class with - the expected type and the message to include when no exception is thrown by the test. - - Type of the expected exception - - Message to include in the test result if the test fails due to not throwing an exception - - - - - Gets a value indicating the Type of the expected exception - - - - - Gets or sets a value indicating whether to allow types derived from the type of the expected exception to - qualify as expected - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Verifies that the type of the exception thrown by the unit test is expected - - The exception thrown by the unit test - - - - Base class for attributes that specify to expect an exception from a unit test - - - - - Initializes a new instance of the class with a default no-exception message - - - - - Initializes a new instance of the class with a no-exception message - - - Message to include in the test result if the test fails due to not throwing an - exception - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Gets the message to include in the test result if the test fails due to not throwing an exception - - - - - Gets the default no-exception message - - The ExpectedException attribute type name - The default no-exception message - - - - Determines whether the exception is expected. If the method returns, then it is - understood that the exception was expected. If the method throws an exception, then it - is understood that the exception was not expected, and the thrown exception's message - is included in the test result. The class can be used for - convenience. If is used and the assertion fails, - then the test outcome is set to Inconclusive. - - The exception thrown by the unit test - - - - Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException - - The exception to rethrow if it is an assertion exception - - - - This class is designed to help user doing unit testing for types which uses generic types. - GenericParameterHelper satisfies some common generic type constraints - such as: - 1. public default constructor - 2. implements common interface: IComparable, IEnumerable - - - - - Initializes a new instance of the class that - satisfies the 'newable' constraint in C# generics. - - - This constructor initializes the Data property to a random value. - - - - - Initializes a new instance of the class that - initializes the Data property to a user-supplied value. - - Any integer value - - - - Gets or sets the Data - - - - - Do the value comparison for two GenericParameterHelper object - - object to do comparison with - true if obj has the same value as 'this' GenericParameterHelper object. - false otherwise. - - - - Returns a hashcode for this object. - - The hash code. - - - - Compares the data of the two objects. - - The object to compare with. - - A signed number indicating the relative values of this instance and value. - - - Thrown when the object passed in is not an instance of . - - - - - Returns an IEnumerator object whose length is derived from - the Data property. - - The IEnumerator object - - - - Returns a GenericParameterHelper object that is equal to - the current object. - - The cloned object. - - - - Enables users to log/write traces from unit tests for diagnostics. - - - - - Handler for LogMessage. - - Message to log. - - - - Event to listen. Raised when unit test writer writes some message. - Mainly to consume by adapter. - - - - - API for test writer to call to Log messages. - - String format with placeholders. - Parameters for placeholders. - - - - TestCategory attribute; used to specify the category of a unit test. - - - - - Initializes a new instance of the class and applies the category to the test. - - - The test Category. - - - - - Gets the test categories that has been applied to the test. - - - - - Base class for the "Category" attribute - - - The reason for this attribute is to let the users create their own implementation of test categories. - - test framework (discovery, etc) deals with TestCategoryBaseAttribute. - - The reason that TestCategories property is a collection rather than a string, - is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed - in which case it makes sense to have single attribute rather than multiple ones on the same test. - - - - - Initializes a new instance of the class. - Applies the category to the test. The strings returned by TestCategories - are used with the /category command to filter tests - - - - - Gets the test category that has been applied to the test. - - - - - AssertFailedException class. Used to indicate failure for a test case - - - - - Initializes a new instance of the class. - - The message. - The exception. - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - A collection of helper classes to test various conditions within - unit tests. If the condition being tested is not met, an exception - is thrown. - - - - - Gets the singleton instance of the Assert functionality. - - - Users can use this to plug-in custom assertions through C# extension methods. - For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" - Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" - More documentation is at "https://github.com/Microsoft/testfx-docs". - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - Thrown if is false. - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - The message to include in the exception when - is false. The message is shown in test results. - - - Thrown if is false. - - - - - Tests whether the specified condition is true and throws an exception - if the condition is false. - - - The condition the test expects to be true. - - - The message to include in the exception when - is false. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is false. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - Thrown if is true. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - The message to include in the exception when - is true. The message is shown in test results. - - - Thrown if is true. - - - - - Tests whether the specified condition is false and throws an exception - if the condition is true. - - - The condition the test expects to be false. - - - The message to include in the exception when - is true. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is true. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - Thrown if is not null. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - The message to include in the exception when - is not null. The message is shown in test results. - - - Thrown if is not null. - - - - - Tests whether the specified object is null and throws an exception - if it is not. - - - The object the test expects to be null. - - - The message to include in the exception when - is not null. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - Thrown if is null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - The message to include in the exception when - is null. The message is shown in test results. - - - Thrown if is null. - - - - - Tests whether the specified object is non-null and throws an exception - if it is null. - - - The object the test expects not to be null. - - - The message to include in the exception when - is null. The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is null. - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not the same as . The message is shown - in test results. - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects both refer to the same object and - throws an exception if the two inputs do not refer to the same object. - - - The first object to compare. This is the value the test expects. - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not the same as . The message is shown - in test results. - - - An array of parameters to use when formatting . - - - Thrown if does not refer to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is the same as . The message is shown in - test results. - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified objects refer to different objects and - throws an exception if the two inputs refer to the same object. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is the same as . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if refers to the same object - as . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - Thrown if is not equal to . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified values are equal and throws an exception - if the two values are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the tests expects. - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - Thrown if is equal to . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified values are unequal and throws an exception - if the two values are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The type of values to compare. - - - The first value to compare. This is the value the test expects not - to match . - - - The second value to compare. This is the value produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are equal and throws an exception - if the two objects are not equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the object the tests expects. - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - Thrown if is equal to . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified objects are unequal and throws an exception - if the two objects are equal. Different numeric types are treated - as unequal even if the logical values are equal. 42L is not equal to 42. - - - The first object to compare. This is the value the test expects not - to match . - - - The second object to compare. This is the object produced by the code under test. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are equal and throws an exception - if they are not equal. - - - The first float to compare. This is the float the tests expects. - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to - . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - Thrown if is equal to . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - Thrown if is equal to . - - - - - Tests whether the specified floats are unequal and throws an exception - if they are equal. - - - The first float to compare. This is the float the test expects not to - match . - - - The second float to compare. This is the float produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - Thrown if is not equal to - . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified doubles are equal and throws an exception - if they are not equal. - - - The first double to compare. This is the double the tests expects. - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by more than . - - - The message to include in the exception when - is different than by more than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - Thrown if is equal to . - - - - - Tests whether the specified doubles are unequal and throws an exception - if they are equal. - - - The first double to compare. This is the double the test expects not to - match . - - - The second double to compare. This is the double produced by the code under test. - - - The required accuracy. An exception will be thrown only if - is different than - by at most . - - - The message to include in the exception when - is equal to or different by less than - . The message is shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are equal and throws an exception - if they are not equal. - - - The first string to compare. This is the string the tests expects. - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is not equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is not equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. The invariant culture is used for the comparison. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - Thrown if is equal to . - - - - - Tests whether the specified strings are unequal and throws an exception - if they are equal. - - - The first string to compare. This is the string the test expects not to - match . - - - The second string to compare. This is the string produced by the code under test. - - - A Boolean indicating a case-sensitive or insensitive comparison. (true - indicates a case-insensitive comparison.) - - - A CultureInfo object that supplies culture-specific comparison information. - - - The message to include in the exception when - is equal to . The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Thrown if is equal to . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - The message to include in the exception when - is not an instance of . The message is - shown in test results. - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is an instance of the expected - type and throws an exception if the expected type is not in the - inheritance hierarchy of the object. - - - The object the test expects to be of the specified type. - - - The expected type of . - - - The message to include in the exception when - is not an instance of . The message is - shown in test results. - - - An array of parameters to use when formatting . - - - Thrown if is null or - is not in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - The message to include in the exception when - is an instance of . The message is shown - in test results. - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Tests whether the specified object is not an instance of the wrong - type and throws an exception if the specified type is in the - inheritance hierarchy of the object. - - - The object the test expects not to be of the specified type. - - - The type that should not be. - - - The message to include in the exception when - is an instance of . The message is shown - in test results. - - - An array of parameters to use when formatting . - - - Thrown if is not null and - is in the inheritance hierarchy - of . - - - - - Throws an AssertFailedException. - - - Always thrown. - - - - - Throws an AssertFailedException. - - - The message to include in the exception. The message is shown in - test results. - - - Always thrown. - - - - - Throws an AssertFailedException. - - - The message to include in the exception. The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - The message to include in the exception. The message is shown in - test results. - - - Always thrown. - - - - - Throws an AssertInconclusiveException. - - - The message to include in the exception. The message is shown in - test results. - - - An array of parameters to use when formatting . - - - Always thrown. - - - - - Static equals overloads are used for comparing instances of two types for reference - equality. This method should not be used for comparison of two instances for - equality. This object will always throw with Assert.Fail. Please use - Assert.AreEqual and associated overloads in your unit tests. - - Object A - Object B - False, always. - - - - Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) - and throws - - AssertFailedException - - if code does not throws exception or throws exception of type other than . - - - Delegate to code to be tested and which is expected to throw exception. - - - Type of exception expected to be thrown. - - - Thrown if does not throws exception of type . - - - The type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 type of exception expected to be 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 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". - - - - - 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 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". - - - - - 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 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 DataRowAttribute specified. Atleast one DataRowAttribute 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 - - - - - Provides helper functionality for the unit test framework - - - - - Gets the exception messages, including the messages for all inner exceptions - recursively - - Exception to get messages for - string with error message information - - - - Enumeration for timeouts, that can be used with the class. - The type of the enumeration must match - - - - - The infinite. - - - - - The test class attribute. - - - - - Gets a test method attribute that enables running this test. - - The test method attribute instance defined on this method. - The to be used to run this test. - Extensions can override this method to customize how all methods in a class are run. - - - - The test method attribute. - - - - - Executes a test method. - - The test method to execute. - An array of TestResult objects that represent the outcome(s) of the test. - Extensions can override this method to customize running a TestMethod. - - - - The test initialize attribute. - - - - - The test cleanup attribute. - - - - - The ignore attribute. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - Message specifies reason for ignoring. - - - - - Gets the owner. - - - - - The test property attribute. - - - - - Initializes a new instance of the class. - - - The name. - - - The value. - - - - - Gets the name. - - - - - Gets the value. - - - - - The class initialize attribute. - - - - - The class cleanup attribute. - - - - - The assembly initialize attribute. - - - - - The assembly cleanup attribute. - - - - - Test Owner - - - - - Initializes a new instance of the class. - - - The owner. - - - - - Gets the owner. - - - - - Priority attribute; used to specify the priority of a unit test. - - - - - Initializes a new instance of the class. - - - The priority. - - - - - Gets the priority. - - - - - Description of the test - - - - - Initializes a new instance of the class to describe a test. - - The description. - - - - Gets the description of a test. - - - - - CSS Project Structure URI - - - - - Initializes a new instance of the class for CSS Project Structure URI. - - The CSS Project Structure URI. - - - - Gets the CSS Project Structure URI. - - - - - CSS Iteration URI - - - - - Initializes a new instance of the class for CSS Iteration URI. - - The CSS Iteration URI. - - - - Gets the CSS Iteration URI. - - - - - WorkItem attribute; used to specify a work item associated with this test. - - - - - Initializes a new instance of the class for the WorkItem Attribute. - - The Id to a work item. - - - - Gets the Id to a workitem associated. - - - - - Timeout attribute; used to specify the timeout of a unit test. - - - - - Initializes a new instance of the class. - - - The timeout. - - - - - Initializes a new instance of the class with a preset timeout - - - The timeout - - - - - Gets the timeout. - - - - - TestResult object to be returned to adapter. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the display name of the result. Useful when returning multiple results. - If null then Method name is used as DisplayName. - - - - - Gets or sets the outcome of the test execution. - - - - - Gets or sets the exception thrown when test is failed. - - - - - Gets or sets the output of the message logged by test code. - - - - - Gets or sets the output of the message logged by test code. - - - - - Gets or sets the debug traces by test code. - - - - - Gets or sets the debug traces by test code. - - - - - Gets or sets the 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. - - - - - Attribute for data driven test where data can be specified inline. - - - - - Find all data rows and execute. - - - The test Method. - - - An array of . - - - - - Run data driven test method. - - Test method to execute. - Data Row. - Results of execution. - - - diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll deleted file mode 100644 index c8483c2f1b7f8a2cc32b8ef65b1ce67de7a69c0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69968 zcmeFa2Yg(`wLd;{clYjURje*smgJS|T9($5Y|8~37fCMQZn*#^_FB8L1(H_mu564E z$n+iv7(znFbdnHS2oDkyN+5Iy1OhlXw2(&)p@aE<&zZS*ccrx{zxUqf_xb&wY@Ivj z%$YN1&YU?@ZqcGc&lL_KgcHBtd?UnNxYExohWiJ7$j%vdcaFF{|SZGV?~qsHTK#)b;vJ*H}|;fKw<)kG<0%8v|x1rkQd z*@fuIQN@m{{5fb-)xQ+oS>sVTxrX69r@dqivoVX|&juq3IEz)X1PuOR5LQ)TY(vjE ztA-nnUQU4EvIv|QZ8)6%N2nt3_|YU2h5T?Yv#P;x9Or`+|6syIL9HPc=mr{2KXOb* zO=c7Z?T%Ga6P`lTq<=V-7y;m57#WFVO|Jh7uq$3}F6t^Jsn7@ArWE7^2yTnOi97wH zNa9!E9;{7c_+fT4G8*)&MwJ*;rFoTq4A3g*S5Ry6ScPJFj))&rui=MkX7%B!AnRo& zw3~J|N zq-ND-?IaF3P6Unhj&mtS&b?5XLU~r6;itBPW*rkOAO2#Vf- zQCx*&9g^g)QVfC|_&xMt3Hicbuk#E61u&|uI=p6ek>bkCmu7_6{S$~c3V-d6O+@k- z)y8=!2LouC!@P%kjcw4saN(FQBC5 z!_I1t(|;-mdWZ9srFiV9l0kym zA{c~T|AE|>g9ph0v>}6x{F2^r3Y|B=cw*$v#f@??V@mSiwalf90! z{J_$3lGgJ1|7H`hf27g!M@d?8n*24nUuVIV)USL+ztZ)G^y}<2{iC27fN#CoS6lakj3FW5-ASi?Eh%BoNi zuoiYAS7Y!4Q{1Qh)x~Ze{X3!z$Ae-X&Hhs$hYI;mLt^ShV0P9VWD{y;s^R|(GOa+H z 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 AWB>pF diff --git a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 4fa9657..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 3f446b4..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4197 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 3d6c968..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index ae68026..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 6655c2f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 5b05af9..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4199 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 356cec5..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 2d63dc0..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 8b061c2..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index d3540c8..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 7f0704e..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 922b5b1..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 93582a1..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 22e769a..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 4b958bf..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 5593384..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index d5c4cce..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 2b63dd5..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 8221c4a..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index f278594..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4202 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index a512560..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index b7a0029..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 0eaba92..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 0ccce3f..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml deleted file mode 100644 index 0eca881..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - 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/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml deleted file mode 100644 index 611e17b..0000000 --- a/src/packages/MSTest.TestFramework.1.1.18/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml +++ /dev/null @@ -1,4201 +0,0 @@ - - - - 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/src/release/HiFramework.dll b/src/release/HiFramework.dll index d6f25f1753de935b21acfbf9e9ef58bfeddf5d04..f094f4cf82a680491f64932922c33bd1ae5c65cb 100644 GIT binary patch delta 8643 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 TCpVfHYz>% diff --git a/src/release/HiSocket.dll b/src/release/HiSocket.dll index 11ac0c843018ef9217dea6955396ed775bcc26b0..fba7df019c100d6ce257f690e46cc02005d3797f 100644 GIT binary patch delta 1446 zcma*nTWB0r7zgnGIkPi6o9ryRo82^5b8V7Mc9S*M=3+LaO+qD?Chn%jQi6RDS|zfT zwC2IfW-yfE1+qQytpOjzOR>I8y@H~ch|(0i)CaYcS|JJzYM??88~o<%QGD>hfip9| z`M&dgXU?#@FuO3jbVmCsoytE~%?{>YpAP&v3QT~Gqre+lzOKZ-0QkwPBS4j?<8g7A zHM1#Uvs@@SMgcnRrNN=2TZH&vu8zcj5VW}3c)-LtWwN)5~9LW#H#78i+q{cmB* zMbcf^R9YtOL0w~^%$vqAzZ)?r+x)wW>lE9IUKP7WvAr0SayOl!3nv?MvJ4wB zGrSuEyZ_c<-hE>=i=Tk12VZ_Hjkh+9f$DK>;!_eV=D)+jcFF{ur< z#SIMOWpS!BmMd#>Gd6tSJ8T4#N@3C{&L}mL#_*9+A88!FOS${=I6sJ3TvlQ3OHW{2 z%Eq?Q%O~-$ioK+p{5~uxUC{$PjkmfL&+9>Cu&yRvqUBCuTj_h!A=D?_7B&XZ%kM|R zIkanqi|z7BJp%eh&Vh=bJj@UsHKTeD&Z5W3)!g<4PyYD%+5_hYhhO~AmtL#A{i*YO zY)XsMALxu*jMJ!M!1WOt)GVDD$~^tc)tgToI5xb}_wH-j{B+*&CroBFj=A}TqhHju eSF)s&YX6dn0aoS&l7DD?vd;ZPQJn&6k8UF=@6|OAQfGlR|VJ z(x{+ecOizf`q1srg~QRl>mk)(ZZsR>gl7tLM>(dx>wozeFyFM@uPh!AA|94jMVc!Uejp zB2nO!5u9?m_-$ts{giF6fG-{dx19=i$k@Un?t;hf#s*bW?2lAF%36R$L;RZ%u#r+610Y5GeC_%1B{EylWWR_i)T z@?H!!=VxAL)BHYMQOe>Yw#xdj(jsG7d}#{wBOcA`Lvxk&!;IzgCT)QMti&*>rruOM zr-E6$qjXK{D?7;t;Fo`FDteq^gXq%wm|}x?LTR1d<^n@_-<>Lpr4wzckq>->jbK(Q zOxlA}S}mkeT-NF#jUf=1d2)ZA;k(0+*B|l@$MzX<`udZWss`Tvv?JA@2|wWd8n;=vXH?G5AN%FFHdj~1hP|eai_8lq?izfy$1C3c JGs`6k{sds`6P^G7 diff --git a/src/release/HiSocket.pdb b/src/release/HiSocket.pdb index 78faaf9f34f3b369e37d7bcc0102dca97030f25d..12c7efb4a03dfa832a7c0eb2835cf8eee9dc61f5 100644 GIT binary patch delta 1850 zcmaJ?ZA_C_6uzgn3QQJWsg&}f3`(I;szs2xNx{m82ujPBbW=!(TRJBW5D+)qEHg3L za85W9GZ*8`WEkhv`X**(l86bJb2E-*m@SU%kNYqiE-o&*ANzRjJBcRyc$53wbMAf4 z={fh@a~s}c2=6hRHpV1=Uh8clA;inKzW%XyRjBMx;RnZN^)wD>$uT*z%?**=@yiA- z)OfCbGUB@V+H(gtcZDLpqjY9oMU?sXLzCm*Ts(dG)5^UQHRkVqrfXTgi0=eNhv&c{ zzObew-!(;zpJ{p{v22pq_oACuq zV=klxj$Pz|ZUZiGY~a+aObYPotQ2d&AcRakLCjKuCL!L&coh1(+?Ul)7dSRM1?bAQ zPy&}__mi6^vTauPtOr&%W(#p1$%bH6%(2cos^u1^hr0Mp=K+dvZjQ|wd5B*cCB#0A z0Qh6PCC5YYJe<={F3xq?tS;jN&!y2qB*qA_AIw7D;_}1us7reO)%6x#=Yd5w>-C5D zN5TCGL&hJ^R~Gf-=$>5M3#-Y+J=Df)-M#cWe+)d%Wx2g{iN|t7Wag|TPOBMN%$!3h z9PGm=hoAYpWr>HHcz8(<3Z&$#yeuycMe;&=8j_W}^GfhL*cr?>@|SsYQ7LQ==EtE} zO1=}t@&fC4Q+|m0w2Ayog3)hF*GGHwqbFfyDv0Oyf)yx9q~IeQcceh&{hkx#)_luA zkMO3)KO~oCf1-_$_R#XX_(Afje5^2tLAhfr3L?p-qD~|^QS=U( zweI3m1{z`eN)MgnCg52fT3Jk^JP91<`6YhCh~R~JNgOVT17)DZ3CbvN6f!)P#(}0( zsG7U<4$(@sm!|;B$`2s7sq&4qfqkoNz-LyyhjpdGkM)*{655~*S0L_Go?qz%`YJt? z!Y@?rQc`ieGv8bxW~Xv&mAXK#$}v-nWC+h6vT?=Kp+AozN|98~N_CN}-EHFZcc{m;H;s+4`;&-c}lD( z7WYp@)Pp+3HyhT&ZP_|M+zzet8{BiaxhQF{F=(jPCGKhr!jTeG`G-aaZG*JR zcvhE3rED4pPvP7S3y$U-^n1|f@hJ2dz74LzEn8KS6-g$uvekmdlB5&AU+QCfUYTeJ8-aP8ID7G|3kdk23b<+qXlPKC0b$@7JsUM%wO_w08(e33M71Zrpc>tD&`F$`iVpZixm&G&%DP2l9e(F|DNvK|e tzT<|pP?xG_BvhcITgB;jbX)jnx0%A)x$Y{%|NIwjcN^&oZS4*%`Y-?8-xdG> delta 1853 zcmaJ?ZA_C_6uzfY1(c<)Lu!5b7?jeMwm^Y_)A3PCv4T(#kWR&funCUoKxowAvKmd6 z1w(`*5!{~{AugMn!~Sq)qR}immgr;&i<+>wM9r3ni*v;6$Cf?!Rieqvn%w7n+;h%* z&OP_sh7an(2X$XX#V${|zN(po5Z|5uIvg>m-qYV_)t7~rRzwnGoeSf?ohX}Koc43( zz0Z!1HrDM)PF$VcGwvCs(@Xu)@ztk)>pXHe23E5l3qx5ZU(w}DBS_P znEnG*^MGYFHSks7W{$}yp;lfC?BI_wT4{u5Gt5B6YNWetx8~`LI^JSE3g=@sBO7c> zz$MxCQvk9Vm}J|`sdg*1^ICg~sa+?8EImOiP=b0PKEZkk@_F88@1q+Wmze@|Wg01q zeVKja=c!Dy$-m&4*PVqzoI|l~@M_{XM?JmGEsjDu$Rmy;G|6tK*);i_eR;GHhp=j4 zf0MU63(3J_&OY+7+hsQSqMk)Aj}c;dtPqD`*}&Uf0Ysi~$;flAkLeK)WSLEmp0gi? z?R_knzk{!4_2KB=$nJ&LboMU#kgIcgX^baPIR55=JV7>v(Qt};W zRuQm+x8=9dNMtJCN^tt?)lD%0?dVCEm(1$sh5og!v?I zd+i(YMJ%h{C6qn1`Y}F8MJj*#dJx4?Q8$WfE>`(aQ4j^nov7jS0j~ol6ToTkh*)lbnc`O? zIpu#6ZDdPD3eZ<^1hvgnv{Day)|i2Bt@#{!#UFsa#qXt_$e15_yLefp1L&!g4c}9_ zUvc4h=YLCtSm@%oDm6)J<(h9sBA9k82XtBdex-vutI9t(@YIoDHy;PLMeKg6UnWHO zNdyr_Y+-~P2f7>-d%^^o47vg|74*UH|AgfiBz1zS(8q{a5sym{hYO{M3@oR{W1Fq( z;o#ENqZo0)SbsH&%&(+yzj_=mBk%_C+|v|9ASI~suT3`U2baCrC9*`eC=sQ? z6R8TOCXkJ%cBDr7cO>X=Yf`ru_42GW4%h2ur>gIO9K$o6MqE0jOU31O0Wb4D;5Ch( zmb`ujb_%<@j5wULkPRqkDNjI7*XYyw4HYLbgP(Ppk6+b`?P)e{O#2^`MiCpSw7-%SXOgtkBS)v>OaKO ztHr|%OZn2gtiKIzo#ro}si5Y6fCu1thQEO2EofC9?=kAiXV qWR2T8&!GohAr
  • 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 G1pPm5x=VEc diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 7462e4c122e26ef0e0d5ff799565e0e248b8e2b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27664 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index 312da23252642ed0a8cfa8b3eb6a84e2f693a59c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25176 zcmeHv2Ut^0_V-QbAVpA=CZU5uxS^vUy@~WDN--n>LP;U7DHuy9H%vH{NWuyV@+*EL?Q8`>OHmw<+DA=qc4?0ww44A+0D|U%7~YB4HG1HV z0jDWAAxMPvjGo{di9q;g9f{xy;y*1zfqI#yAW4z`sr$De5(N$z(6vV%Od%+Ek_ZUP zL(no12d#vl8Q}I$ADBtjSy_2O*mfEbEQ1uo0O57w-~!&U>I(Rteqcc9SQ?#10Ff-- zOu+*;I3>Y3?Jx!0V`-!?DoDuUbtQO-(87Ro+F=So=F@_#$CZd&!GZ9GhPWUG4uYzI z9QatV5Y&c&pduhYXK+va7Wcc`Rp}Fa(Vl9B*qW%<(p)kf+_L_PgJtt&-wUlb?%dM- zs%%x`v)LN5kK@{Ng^TIV;-tamAZ2u93pm6ZKqTlSnB9*E-QjvjO}c2sjb zsgUyko#2wDzK`$Pu7rRGZGu;64u&HiGhIrJOwQQ*ZHschcp(1V6ZzhBvTIwaV@P~qpo zA}I`VIEh`l8;OCm3)1Gu;cRA!{PTU?%RJktx%Guqd9G)%z#bE$3y0obaBSC?6TDv; zb*nG$)vT9S;zQpVuM_0(J8@X>JZ1TOUxh}v=32c`e1?jJao0+p-rzF7kQe2o@vZkr z2P(b<-FSyyvmKNr2a4Ii1wl@rP3ypU9K@x9`*IM^13EqqymJO|JAlB(K%6)T^Md#N zAiNiZ&A|N2D!Vj)$K)zlKajsUNyAR-(*Q@|@LkcbdIAfxrYxZMEb3>Mo+bJL+^pj(FlBY@}=TmQyE zHa!PWGdlR2(2HMHZ6a>EUdKXA;6$DOwXEzaQCSuO5ilMUkEl*BAS&(-A`t1jg4Yya z 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 7346d8928bd1169b09f38d64ce6d5d07fe4c50d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30248 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 Bn>7Fc diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index aee4cdee0b03981f0a1fd684dfbcc616a69fd698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25176 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 7c07ee46669ac7037935051539dd08437576d71e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27152 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 UeYVqNv&)BuU8i{eaten1A0f(E761SM diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 2572a7615b3ee78e7783aaac608b7fa44e5d81a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33832 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index d5fcc9bc2fb10e6128e79dc3bc7302a44205f0d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29712 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 9e038f0dd2421337936dc1e9f4f7a0664bc658f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30248 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�Dl(^Ru_ZM(S7r!RzqXae)Q^AH1_mRY1mALB= zcN%dwBkoqjor+0eXE7?^xdr!8#9f`p8He4297F6G+$RwEHjqP3f>=1Th%VHs1~!G1 zMgm81??uAEB}IJs5X<<)O>}|XR5)`ICWu2~y+Op_aM&Y)$-&S!IFa1QU>?+(Jz8SUkK}|w$XgK8WrRae>|d{s@i@P$?iCps&ZT;TVMD}#^!LV)xzt{2T$o%g zJp|&*JWd~BFyO)zLIRjFPwrLKE4gJkZaLPazkL%Xel&iT&q$*O%Z8>ooC!&|GGtK8 zBAI7OFe1Xio9q z>MRS*(aYs*m?J0=r`8*}%&1>4OTwgFJP}u@Hjx}A7!4AN_DYj5aT-60PQ$R_BuuVX zPAF$~Q78sD%@{gUXbHET>!c;TPkN}gMdOdI?_&T5 zaoU3q`+xWU8V5)O^G5u1)Pp}u;J?U6_#NRpJpjX2g3T9PD}{~V)dzxi{&2U$JmAd< za|1WOKRjK*>rR}y!79kFzVYp$3}H8s6-9<|at|V8L6PA1zic5vB4W85z=HzfOd>!N z3@&1HX(06g7dr|Ap->A7^$Fr21ORq`{2Wb2144^GV>(a3;F#cJ1OYza0cHuaC8@V% z#?4T38d zS|t&^L=g%>Y)lZoL~XGM8X^HxB)IT-P}>LcP}mbi(NHKP8l2~-6>2Y4?mfIgoZ~ej!96(WGz*QIT;n!a|B77(P{0a-1lM zOiD2kB9U_^;S=%U{c;B562c@bmz*z@gyE|F>XC;=-Ki zNt4Hih(bbKUecG&4TaSiFOp4@#br>Yn7o(=lMw;?G@3F#8s$jJ59?hhQeY(!70Dsi zxHMH<1(gfSkLWA+f}?wSo;-R)6vf@f3RfO3O&gD!;U+W_V^d?J8IUyXm&B6~{#z)M z#-$KtQu1UMH+K)37CwfbRA$?-qEJ-C*3*t+=jm#0O|v%9vmb9_uV-&(V?Y~&tMhv_ z`j|5c zjuJ*<^ev+5hu6m?Bx{dYAtu_i_P$$2wMEto@0^vduLp&nTd-Q;((70H!5j2Lo@`w7 zQS2z~#nS8F54?QYxfP3f_Ci%jU3FRexs_q<7Py>a>&216SJ!Q&tyk!pI!jaH_>%b9 zm%4DamaInj!+u$)vZoMN;t_vq*NJ*VM0#`^Hs&3SE+rvIe@`Yu0O!vWY z2daz@4#vGueHF3`?u;@a0;(&VBwj=hmsx zO18J^-3V|@*!n40=U~Tp#qcI8WzQxhqh++x_{7ft@LQvsezy*b6XYH~Y*O$ueu#%P6037sX&%x%p3&AJXs+Ss|x97$V_Rbun_}eh76erjfNZaB=O|M{}$SQFl0Rz zS@=&Z@?RRJCg&9$!gKx4kD4thV%Bz3X5H25hbx{GN{ft~ern<^oqNlUhO(V=7L{jL zc%_-`dShy=(5|$%dwq}{Y#Dsn(%8V{TgN-M zLdC*^apg&yCu?l1z7}~i@v+USw!3fZ+xG{*Ae*aZZ1=q@+@yPU)c0{_J7-sVf4k?@ z>?M-1$FR9DfwtYH!sm(tEp+mdu+b6kUf#r)zhsWuc2s<{&Z6}dZxgIzOx12ISlC&1 zY~Hr2jLwua; z-7dE|=2_~7p=y$O@*n8}!$b#8&Hk053iq>CTOK`$Nb%ioqH+J}oL$xa=}MPxFTg#J zat|ScDJpcp?Px!Yj}dNwL`g(`oPmLvDQ-9}*u>O0kQRjN88gg+^^6Q@#&kdBDSuIPENXe<6c&#x-DTl zygJ!fzru+nqqF#ZQANQh)qVLzlhP?$-si|!#QQ}vUfn53U1A_7Bs7;XpS0a<?}axzrio{KX!v^S<|&HZR~sj{xR;EPi2<%H z)pee(D%~^IO3%Ecv3Mc(Nv-vKIe(gF?Sadl%jsSp&#dBXdQ)>mY0>WVC1mprar*-B z6p?Z;c!hj}CrLNdR3w&bv>%v-`x7fPNr`ou%htcuWspWH2*d0~8;KT<{W2wbCqJ4V zJ`M?|ns^8>bO~$^G%j))1oH}2J?saiqRa6n@Ja4mu*qyIqnzu$Ty|SBYn|Ld^>0QO! z@rAXs?Cuutvv{B#x4 z87cK`9Z#nvM&Ik+P~5MpepTSt3$_0CH1}g#@@5#Y%(8WY{^R;c}u9 zJsXo@B(eyB7}meNc|vH(_VpUg^}6Qr%!eBTChVj|Zl74*sE3d21sWjse`%uy|)32=%cjwzOCmhUYu1&60+T_1)%X;OV1EL*- z4(*_ooR`3AffaMa?QvT{8myS<-?L(TFFH~fq%VN=XZs~Y!u-r8C2HCiKZ~?1F*rQ; znT$Srr_;x0{?RX{PSCq$vrp>Vg$_Mhf%?UT?i-U-XYaMppL#rhr_Ywws1s#}y5bHy zaXwCZYL!^`aL{npg`zDKz0Xqa)jpT>TBp>PM?KytoiAME^Pp_Gv+vtX>n(5Iy?WW2 zreZX)%qRP`r+Vtx!j#eLTQbCy-nO`Qt<0-?B44!D_57&%HJr?`^CC7Yc8z}R*${G3 z?fWdHOZh7+v`XWGd~EZlUHa5fFx}_gW+6LUegDoo`){Neu)h>$%C|jZJ>HeCd-D7^ zSsCW)O-=9fKg(%KFikVw#H&m>aqXecldG{=BWBeaEBN1AujI5^@8mus+tDv&hbdyS z?-|cjy}a?9#LHBfm2MF-@~##ObsV>FuDuJdJN-PWz;~T*LdL4xQI5hhK3*vZk>nMP zf1#&8{CqpdM6NTkWMW9lCy&xqh6+q&ndSFn?=w0hFWcX^KD;BYntbSbw{Ek_@@;!1 zyXCbk_qBa`xGT~Agjj$BGr-dIfc10N7YAeF8YPV+B1R|CR9a-b?mf!ue&is#kFoK) zy8?A#rHE>LOQw|;t7`q4%-U6rn^pHq&)V`je}7u&;z4uuPQ-*^N?H5fDlGV*uvp{R z(kpX!I?(j9@3zjfxP>hWbhvhTX>Hkv&oZ1d1!`Ev+@1rm4H{yL@kitH$7$*LGZ+x{rrbhCCCy>6JOmDPxrNy8Rnx;hJ}_ zuqO*Do-Y#{{85Iy@%6HcDi;hj{@D7qGi0>xmj#cPDm{JdT99{I-Lr1hXS*vBSLYO8 zJz!1F|Fk`PeaJ2CyY`+3(yl(zwx??CO>^`17}O@L+dVfu9cTaX&JW-Ec~QfLgHKd9 zEb6M4e9Pz>h>q9^}KS5m1C`F^Dl00p0Id*9$o0Ll61+JkDE(Lm(`rTzJC&_Izy2X zSnoYxy?6Z1djE1KJivO(_8MWZ-eAu$Jb5Fst?K0DbUb-g($HU--@Kqg`oDd7ks=$n zPa$tgZqdG}-07WS@>J%3jMe{Jdw1Zq?1tr4vxIHO-|INEZ+_F|xM?n=5-M-r%!onq zdoG_`u%?W9LoR=1L|~b(&;?hDy!)nm@s=&VCyJ+MkAA2`O51xP_U($R&nJ*xwwzoe zDRO?5W6NvLVfWnjtZRF`YVOUX)9o2=MfFpKJJycXP>bsR@TDzw6IJ@7SW8s-2-mHv z!z4MGWqD>>LiB2;$vh35HCbWf3d-abF-3z<7im*sXcpr*QssC-tQAZ5Mah9^h$C0=(TmN{!CX}IK2nfg0JH@=^EEO`1sJ^ja@ zQqwL@^Les0DkFTa+0+{!;wpEKh!50xmA_fXNOZnpV6BC6gi6Y5sdKs~uGk!W^yzuR z;nu>PJmWIgntAGSnlVxnJyy<}VQ(|E{NTX@E+OZ0tiLD4sU~e3h6g{fmYbt^ew&)= zRhy1+9Va>+FY4ZCG)S7NIo46bf5uavSKIGz+FEBGS&^*86CLt0MzwNt%4sdHBPDY! zmgU9J53%#)w^#0Vcr6$Cb-6)!>9^)-=U1xN23KrV`a_N(WT98=x2CL3_0i!2bwP(> zy+m$UQQh}u94Lz2b1*k6TJiR}Kjfp;^bK~3vvX&z98;P5YDt}H!!u>K+U%E34?dEZ zk;|kK&a=+9v!CwRaG9p_U8ZK{tVWknd5xd-w@s#cD}>d`7ks6qj3whKV=-{{;-GH- zoMVD;|Ni7R>GMA4rjY#5dacJzEg?)B)X(`$1`ltab6ScfgZD2ThE{`uiewtB21~bH zVlVGpQ1ftC{&2Zn$LdzQ*h%BbUHxzjq9u3W$?dtx7m||C|3e`*f6NpDOicLD;n0Z@ zgv#{b-2gsD@MZ*IGaSNwdH{t&XiRuBfHZ<+z{db;F^SMxkRVu>2d>GUg=Fs%lnOht z{_{RKfypT(EcSlg{_MB=WX8-n?rnIdv-r|`a&TPTzLS@peN8&W!88jNc=% zwyt1BqJsU@psOx7MnB)DC#t_{5c~6I^C3?s@AeFxUjA);!^}Lx+NtmC?Bfj$79X=q zExe~SHusj%);)^N*M@XG58bAj_VVogme*ojHT}eR%Z-&)v%b{FyT51UYVGiG?%bck z*vhR|lcmLEm9UGY#(CzYXg!I&1kb=Zo3b4Nv*#Oc~vPm!}R07=Q;D z$%k}i0_g&g3U)tUO(i0(CE1DPy@1zNSdK~s?20F#)99+3}zkAusZ(%9D_su^9$Uyn3*eou?(JpTN|+HEJ!sn&eZ zwV1Hyy4jo{cj0@r6y`p%Y1EMo#Sa#CecgSzeY#{iL$ok<7Cq|)ot-LG6SUygm$m0Z zja+1wu)K>o!L}s{gC;$T2}y{!V!0@^$Y6En5M>rs=g8EZ*{gNlTZWK>gf|Dhe$h~_ zWpK)*zJ{_APtmCCGaY0SEk&ak^7i!d8U@ufwm{ZKkR94!q;3IejwGfqSqRh(pVe0x z0&B>D^{0U~!o||BE}2sF?DqS_yjNKZyG`U$MmNo#sakaC{xg~5pLTn_@sxHMo|_`Q z9v1vVV8Q>X&qIx^{$p*SucCk5Bx2>iy1xaG0+JT}TfD&9xF)RZz`LW;=iT|yLyb-d z(fIK;5K9wqOq&_d`0+M_-sFFXoBHY>H>}4k+IstJ{Ehso)?w@FJ-22Kuk{%J*{gDo zY;i~J~6>05F`A9!tg_+qRfRWjuq;*ub2?`L48o%ns*+}mZZ^V z&I)gR=68kL(Kyd+^XtoF{PgN;XG*?W)LER?9Q-H`v*_LHi%u5niO?o{vJ-O)kd+h;TQ8u z{GV66a}O!FmGQcMh4&iI?V0P_OM|b}nuN9mox38~B_zQvVIkk8G6n_6dgXnpI7#5- z5bp1?-gCa;Md`5m-K*bRd=YN?(QeAsywcaiHUyN8>Ys2z^jSr;vo`R75qU&hoTqqs!e z4#d0Hp^W6&AKmnD6FuCNaP`myy#`m0H|~i~6Qse_Bk+m;c>{vD-EW%U!2(F&Q4@kg zO#R~Mpx(kMu=KZGCbXC3`L6oNi5n{eJRjGE?{s1XpDfC@+GO6iwcb}~+T72To3om> zYbHqeJh}T~OmuvagU3!~X9dr9F9&B=ku!Bprz|P-p?%3+zBco4<&4X_NGc5by!N^` zw|EOG*NIP?v(Qjz&a?@eA2m|_g{DeuQM9=;??v0~$N6`7y2JN98gzKXdoPI_Cr5KH zQ5F<_KHt>XWWN7%dQCw^CUd{Np0CdIhIOyQ?*zSBW0=3lG-l4dcg8RFW={xAzUn%1 zq2s~>Qfo{v>XqL#WA4g4E!?uM_Sl|!U&-BfJ*22US_Lf|H~6kD-{r^FShqT*MS`1h z+j#NCoWyJ7)l17-vKLQ3a3i~&_Bq30b;9-**SL3$*XJ54xJSLQKCw}vpXUfSHF4k=DX#sPub(Qem$O^TJJr{eV@I`t1*MhwwXJUgI>jM%%3eRE!23IvZvkW z@cmZ`!Bw}sQe(nAPBTr`=ZhdLMxx~EaX1`Hy@U#Hsh27tp zo`}VXeatg7{U(v!v}VB(^NQ58vWw*jB>ds(TJZkNbUHNRs@%x2T!?`;8L#I4dKCNbIERy=_3>lLSJKdNy)NxqxB98-Q0o5Ld zr=%QB9g8`Q)m*GK!|Hy;&0wc;sV%Wl65zoXiw94Bpuh_xlU`5E1;RfF3!c36-!d71 zr=C9<==4nnf9~qzvB0qY~;K!p%GP$2{dDnRG< zy#CCQ9ZlWW$ljeI>tb~L?UCuKIo6}bhIPzv-(4nZsz`P^o>(H-u+ zI)Y=K7GFN{7$qb8E-L2zh$f~&bXy?as9>|#=b(+)o;)TuH#kUuf zE=U`7ds4~D*-w_aEm3@%r|;L6K0$B4;q;oLlfD^TKPYTbQd+#ubW#1*B;EI}K5JEt z$5ffI8Ht|9w+!AlQhmvV&f~&qt3LX_zUooAGUJc(Q>wf%{v))HT-4Gw9kbDF%J?e_ zOV;flt-fPd@N>G#+=tpuTm6@|jG291)p?Rf^-`3JkO zhvj>PQv91v4Levd>V~)TW3#-$9qLZyBg$+S+O?go;>17TJl1HgwBJda{0rp2qC zyEx%H_N;DxJ~OBI%e@1^EvGjmFL=@L!uhe2&JKC)?K=`elG>LC#`>4)FS+HrWme^U zZS6NNBC534=&rFeaXbAm)pl96#MGJ_MK=1p%#ZA@Sju!=`Pl)P*^}H1m)tq9bol*k zuANy2%I$N*H`YIBSh}*;Z3gEBNFDgkp0BAt!IZlQZz-wY~mCsxYh*@yUYbgh&d8 zziSRn-i*i~E}Xhy!H*Z>f}*(8P+kOX*^593H&QmBDD^w*>JKMf(I0n0CvfB7d^7qB z9sECig3hX3A~s(AoqWRfbl&1sofkBP?8ly2E_#g2kS(F{^EH=czUC?8n{zGT~~4@hkS2{f~;ZUR=HR zPNsO1_J)lvG8R&A#g{dxR2htDd0nG-dFHl5PG*v4CC{AQxBpS;?WSQ%r`b(6HJGQR zm{`)O)pcLjoWj~z>bESE9l7HuugX$HbUSIR_N0`_@-D$rrw+Qjf4C-bbmXuEyB#r) zEXOhns%Coxrd25gjo*;geCJ))TZO!At%sM2He7u}C!4L#$!Nd4&(wdu;X~f6tVXOM&%VO%-G(9wXGhshNh(({otl!(MU(C3 zD;uA!&(F_^k5~Kbn5nX-+d)0){kE>ku%pf!TAoG6Dn5T|vMFwa^Y?~>>Y>r?#h<^d zcqWzflr^FF3;u#Ub#-%dbVSfvi)&kbT-_>@eAV(|hZv~Fzp|1nncTheV&Ux5c}q9@ z&hv3~v^!;8yE$g2WRhdp*SMV16%i40YdyH~((&$>XekOS@DznV2xmg(KRt2reG0$W z6ZYF`f(I@Z&Ra?f9BCuTH1O7w{&lCEe((NRf=p8*Q|@P7o~EI@{LbV6cAcZd=x^69 z@4R*UDe02k*QVpr*F|UkpMwq^&?WUa=&GhBZSmX@EIudZ^PY1J4 z+pO`8?$MT%#7(w`=j}BPvyvYYE24N2pP*XPm0Y9PSk*$A)P!q>W}EoNODsI^_NXXe z#ADg?Z60={Y+3QCDg~YGCG)Ir3x8PF{ibbGrB2&RWB)FrH&UGo^dFck4cW5v-00MT z{fm~(H1Lot-@gVEZ+O%;*{jR%TA}G+JG0A4AA~Jh9rk+cIAglMZXUbjnUTcHq6c%Alf~sm-tBvli;Y)K(7s% zB6Q};K4**X!>)Gd&T@MrS#$INcW(4ei!)pgx$S#}iY5z*`e}JL9_t(-53^#QpUsqN zWMVV}7lQ_pgh-va$;S$lkNjsIAkIyZxdgtYd2j;KPq2-UNQOV33zyIjv)=!nZ3NzP zY{&$>1T@3(#>Ob@Yz*57NE)FezVP3&;nBo3_!}Ojz75a7W9Dd+gM;w>you<4Dtnib zbou-t%grgzzsPTR|2dJB5ytb9y;&rQrKEPhSQzT8>t9p#h<+yK=%nCrGhYw$)FRVV ztVStjDqWV4U%ily`<39fgWm)!UE*ak=$1>FsrW(bd+YZ$aB*MFlma{Ht54rMBwwo3 z2r!r)VE=ZyLz=-7Wgb0bt$(st$(8j}*PX83KKmM7o~?aW@l#sTiDvp2`_o!V8Xq>UM zjUOvXdws`MbnTI);>J&6M<3|ebZO#aecR(ZI`1+n3Q4Ca66<3xeJMXxYdd?6!WNQ< zo0^NjtJDshYWeLV`eu;%tmU-ycQy+a+K;L+44si0;r+WqKYxD_ee;9Qg*8v|X9b2{ zv&cxFdFyiai0c3D@y6aoF7g)PdiZ!f14Ci~{XcNL@lSBW;yIUCJfo9W$(eZaIy`yJ zfc0}SZqd8^CBe~F{)zRUeN*nvPW;8Qjk~8lgBeVRzn}a!R?qGOR?p~{YJY3>EY`ks znsm$A2OB3R&l9%TT9Bt2dGOixi|=VCuZXnl`u5p3VkCa>Oigg@+~)U>U&mIQ+qrE_ z>!XqV?6gSpVCRN2?7_1o~$;`C4|oxx6VjedYJLfr~4* ztqW8msnK6pqt(47rfqDC3ZwRCD#xj;pT{7QcQtVV*?u zY~DsSar&JD?#huBZysXJk7;6s>&-th9b%t!?R4Dp@jhn}JuGtmuH*|lB=(w}cz*Um zW6B}UC8f@?RFZO1_o!uKz068y-Z?Mry(#_=?ga7nje1X4Jusxo>AXLs@1>>s@%&!b zJKAL>yPC2}cUb4wUKwfS@*wTg*zAHK!T9wPJOk(Epat(YE!Q7)PPN$Y@cz5D6F0ce zyOmd8~GFr4&|HzHH79S7K6T0oC{xgDWa^5antGe`caiBhqekzN}3z8oYjK=;bVPNrybUOOu)1#}A8_?p)n2>D|aQ zZmoKHp;YO6^3})yllkvxR#`qd-3#(J7E-1epIud&vnz{n|Ju;|nhjp>X+o@$jELuc zX1<$T-Y?Xh++oaBls?ul7x>P(Gy9@TQ+ii-}7@h$S68DLdU z`+DV=^5@srR%g9@m`q|dJQhq;qkvPx`<-ZY^|ko8f;!aMxAcqJoaFyY_YSN^@=*?_W@uujB=5L1%8mUovUU~%m+JyA_TFn%aoMB2rsoL|b->5N5@yyVZO5iQ`{tVXwVm18b=Pxu_p0o&0Ero$5;9HAijrLHu2tCt z*N{CjqUS4F6QZVUrXQXx#?^C59J$)0GdNahY-;D2Wti;v+Z_2l_G9!0t<#Gau48=s zENSvbpn3Z^sq1F$2P@-z>YwM`()?~}vR38MT-h6cNE{bg>bSde_Z0l;ob}$3)+3iT zZoi&6s_tEJz#7k}V^-(hTxyu}61$eLNPJ|*+k2FX=4J&i{VG@e*rL3Tm-AADW58uR zhwu%w=KTk65c0>spK$5-TTtO)nECPM_1es~`0I}gKD6wxWl!JjS)ZGH22ZXmOfJWh zkNsPg-aq`j<>%i~x_WsMzoRrZu^+EzL$iY)x)>YT(8l39{3W~Ez$H7yllUJcC@ysL zr}!u~@c(aw^`CLzV1$qecK42o53V+1uweTK0m<=(_>A5R2x1T!I1e}P+iSx40bP77 zF4=P>(epBL6Th@6ssWXb?^jod1~K;D!%xJ{HCGZBNA-mjS_AR~?_znB zALu21*)qv&|IooV#NN9c^k|wB6wp$%zt~lys{Q-K?3qWi-fw&){nUPsWQ5DT_KQ;* zr0q|&Dm={hf*4uD&zowFM?Edl!Cbe`45?@Q-HZ*Id&s1!b)~ zbaJKe7tiocp0T`px%AeVcTUSK?!J+zzeD##+8DF@k84-Ith#8vs>SQx)|pve9b#9W zIL&IGGwZyu_?|<~TUM^y>O6{6cmMFafRPXPG`>GzH~4&!i>AaBnQiADkGNs2^05SW zoBUC}!q}NXQ=#w+R6?@$sa4JrEfI|cS z(Z}W~;xOjD%Qx#CArJr9<`mjJ{eN#n@m{Ypq>A>7teHT7~|S4|5JW!n9H0 zrc1m~-OMN3#y;A6CqS|+efEPP8|D@+Yw(;Cs*)#idy`SN_0SsKQmZ_kg5AyM7B?$8 z?Nm-OFUZ_xHsnlf_dAERy2Y6c@n+StLz|a%=^g6M{WkHYhtA3S{=ED}VJRyYx>S%J zRl61xk(V2kb#)mY-fr_vp|<_<9MgNxS211JaV-MIZTMi*UFgPmNB&vKe!#!aQXj?GmbP zC&y1H99bu%`|jP*PS>G+bCzylbcD4w8Ht>5@SLeRG&O*?Q)GRTxytG&1M diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 70e919148cb0dc4fa0f11de39d76371914e81db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29224 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 LaVUAy3kdojJ?aEK diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index bff449164d867281c2f2b8641ed141e295929c18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26640 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index bd4b4dcea4c422c9f319328ce2f3d4e12444ce5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24152 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 2c764a01252380bd435b67bd753eab463583a6cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26640 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 YTW`-zxiW#mUnO?DezIW(Yt8)s0Td8WrvLx| diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.props b/src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.props deleted file mode 100644 index 4fd179f..0000000 --- a/src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - 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/src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.targets b/src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.targets deleted file mode 100644 index 7abf88d..0000000 --- a/src/packages/MSTest.TestAdapter.1.1.18/build/net45/MSTest.TestAdapter.targets +++ /dev/null @@ -1,43 +0,0 @@ - - - - true - - - - - - - - - - - - - - - - - - %(CurrentUICultureHierarchy.Identity) - - - - %(MSTestV2ResourceFiles.CultureString)\%(Filename)%(Extension) - PreserveNewest - False - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/MSTest.TestAdapter.props b/src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/MSTest.TestAdapter.props deleted file mode 100644 index 14ecf32..0000000 --- a/src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/MSTest.TestAdapter.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - 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/src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll deleted file mode 100644 index e23d6e7f6436cadc98bdccf03c615526d0ddeaa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31640 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�Wp_E5Q}+8rytt&0T+4Mn+lXE)UQ-_q3r` z&glc4;v5IX1-=>7E8lTq2RScsc5F_>ma}vF%{g>rWz2b=f!O+(@yGn^y|uhAfrmPq zc1qNj8kYpeic6` zKDlM}o6$Bb?yKt|%-K69Yq&hlFxmWM;py&=9Q^mJdUsP$xq>*v(VUxc`pdq9C;VfE z87(H%`db96JVOtmr|SOF5Wd9sjGoG!_0}(IOkn$?PQ!=fr9}SK<(t262w!?X@YKx5 zWzq4&&wI_AHT24v;u_qX80$x!2m9y3}Ac%DyNXl znM3Bx{J{p!A-$SRSOTt?DsGPd>R$@&8>BFR{X)YX1i}O!{N<>>VF8E!U;*QABmb5K ztp0HF0G+yHcNX-_8AvhCT*>IUxqvubr~zI}>HX-955d^F)iQfwn%IKE3)~oc`2N)!yDdi*81@`5ygoSR0oGod))mzx35R zzUjdDW8>erjUCd{l;u}%kPhOu{m@sSl_oVpow~qGFnr&6* z@w{E1k^CiD<|$Q+mzQ<_G=6MR(yWY?DK&Q&e>DB#es$ivW96)({1uf;jW;rUCsgdn zUS#3U*{O zUfu0BQnNNjzQ96*cYSkc2TA4YyQuaNSAE4?&qiUdjK?2V_g>d{TRM(6LXy5F=hQ0A z^&WelA3Jq5cf0ho>AQ+NqC@uQ_ET&kJhl$Keq1MV;pj=SZW<34*gY+{<7BVjrQx7M zL}&BHl}#b|71yrcJ2=Q&JI$uf2mUv>T><1 zW@nR2+s3(c(Aaa`^~QzRnYZPWgY;p+xekXChg%#@RiE)-@PFs(|1TG+wJSQ!OBr-|=)TfQ-TEsVi|;4iS#*9HZ{o)I%DNBj zm+&8^_x|3n_TbAUUroGXR-}mY@*ghNj{daHeqWXIxY-UnFP^L$7#6J5UsfWwb$r&9Y@~i{AKp6a^1O;ho33(Wc4ZyINekD zdCv}wt*d7|WJO*Ty4#{XPg4^c} zZ(CiCXyDRBTjr%aAM6peFt}liZOimqN7k6_A(d9>~g{nRDRGStzOGBc(8mHMC_Kn*5 z#bVfnv%5O`>vj9#G~u`F)_?O7J6Ia<{SLmwu2@~*Jc0W^wYvNX?Vk@4{?+9m>U04< z?2)}F_`H2+)uE6DwY=reP#Iyn%CewGkNC7jVq(+6wCWOUN*_$$Mux1?jn7 zlNziGw6xQnV>g<9QqcH`btw!Y_kVRdKV{Y?opfE zd+ocmeaNT7=0-|<+fBZ@@#{*OcTOCUXv~$k|8c?EXhg@1H(1`Sp9okce>Vdqx+xKvz3IZUB66;^OSb?Mil0 znCuomn(Q3KpE=|N^Wab2N;!V;@1Txox#Ga(2KdLEZeBMVNLsYjRc-&^P|?+i9MXh< zg9r*i%1O`Wy(ZiNuqACsmXZK?{_$QB!3VSRl#zA|6{$B;FXL3#7G-H%I45tqghcIJ zOIV}^E>AbQ7gwr^tCwOPls0{6an`Q^$D&slm4*PL|py&Bqg&CQDA!E?s4wM-^Yd>@{W z`(i@Tp|G#5wT_gmJ-^&$Uf|iz;ZyWl$7CcAdAa=Q1sBxEVfFaPkfqP6f6qpPN|(L@u2H{$kEHQAxTezpGw(Gu^XC40_kjw(+HcI7 zAN^{Mq;ZqG18%43{NT_afA*6l#pieLYJTFGaFX7f?Ym=rx%YFtHm}W&Nt$ufOzTuc z0hv?Rf&dL}qt%c(XUUvuGG`0J@ON_;Zq1T8*(=8VCw3OxxVvSPWpZv)s$jm`3191d zJ*s_dXB)MYd{}evH6;3wJ|lb!-S(~HpIXg%`EbVlyDPhNFKTG-v%iP2@dw}ZuSG@u zn7YTsg8G8;w4s}mdzz)RDYx!sI5SJurEAHwrI+=Sc0MlGId^kLKZAUWEe?+}GtXOX zYqkF4{2iMcv+8CG?EV`>BeSCU5 z_0WskR!MPXb9zTz8q^q>6TL<^eA1mOx`tVGoz>b+u6TDTWvSNf=hd&)wbstqeST&A zBte7BHD!f7otwEQN8Ki1I{SuRyK_&Me4VgsTw&mc>0=uVr-&y8=x6OKi*F;zdsTe9 g{5`Eh&dEz#OOV diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.props b/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.props deleted file mode 100644 index 14ecf32..0000000 --- a/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.props +++ /dev/null @@ -1,20 +0,0 @@ - - - - - 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/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.targets b/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.targets deleted file mode 100644 index 9d05e3b..0000000 --- a/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/MSTest.TestAdapter.targets +++ /dev/null @@ -1,50 +0,0 @@ - - - - true - - - - - - - - - - - - - - - - - - %(CurrentUICultureHierarchy.Identity) - - - - - - - - - $(CurrentUICultureHierarchy)\%(FileName).resources.dll - PreserveNewest - %(FullPath) - False - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll deleted file mode 100644 index 11605f875eea8f678098a96ac91aff6df36b9a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32152 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 ZE=Ali*ng$s=5}4--RZ~h|9}~u{{^t-W-I^z diff --git a/src/packages/MSTest.TestFramework.1.1.18/.signature.p7s b/src/packages/MSTest.TestFramework.1.1.18/.signature.p7s deleted file mode 100644 index 40e0d1e261f8baa246c6b8091fa6720124a4aefa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9482 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 V7V&$Xh0U+%#daB@OmvY?{twA(Ji-6~ diff --git a/src/packages/MSTest.TestFramework.1.1.18/MSTest.TestFramework.1.1.18.nupkg b/src/packages/MSTest.TestFramework.1.1.18/MSTest.TestFramework.1.1.18.nupkg deleted file mode 100644 index 45662c5f2a706ab1739aca2f7cfdded0d8066be2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 996503 zcmV)zK#{*tO9KQH0000800Je!N*8aL6Bq#i00II401E&B0AF%tY;!Lza%F6Dm66R# z12GhZ_k!;bvhQT3Gh-&D)9wTpZfalPHo2LGHa{e3)wefdg%%NXbK(A+k8`-o^_xAC zGsa}R8);M3l%SJd88?mel=W<&>(%|;a)U?6O+xLJ!sMg5nlh?VD-d=#kT|qWAt2wjajK-8H z*+QH!kCZ*XY|EhfERPW^zWR8m+$jZ=lsu`CZicp3yzNCd2kdm)P{RJ|=U*wA#S98E zFzF-CLM-Z-4W=u%-|B?%Y$X1!VM@wDv_r>1@J{J=2lKw>s^>e^>0#)qkgSs7lCj}j z3Z+D&gziv_uZ&A}^UBo+P)h>@6aWAK2mk^l!AdCJy3+}D002-C0RTt<003-hVlQrG zbaQlJZe(F{WHBx)a9Y*Tb~WNB|MRAqB?P;6mzW^ZzBE>vZ6 zbVhPvZDn_Fa%(PRY;5ek34ByV@;Kh_&CHw0y3)H>#|;}uCA!)>UyCru8N{4g1X)p;sL*^>V9wDBonUP z{eHin|9=Ci*Hv9zU0q#W-TnH#m!^|0Wd_EW5q=LIWb9$af5x%H|8&7`%78~x*aHbK z6+A3Wd8wdfNqgAd5ehC2x&8K5cOVdq*cW;2q0WH4Jz%e&)@=6&Jzi&WvURYKF};DY zDUyK=_+i9}s@(V4KzpL(V(d9UES#3P2Y?+@5`t7p%Uo~9qE|LfB6`F560~dFImn9t zqgU-hKU+UyY#QToi;cRB*Fd+iSf|92;BwJ!#&VCqCfbi(Q=NV+fKS%p&WLwa1g^Qy zigrE6+tW?NLT4x(YK1h{4cex_Uu64;Riti;^|fSvPFbD^#rUe_8$)khHunpFZN9&!vp ziN64MKVcf#0cKZ%LxFztkSrOiRBm<*!v=$H=`MxFDpZzc2s(gjl^vj(Qaqm*B)ycV zb|Wvw78x8vF^?*P(XM2R%5?SUYVBumNRnD>csMpm;SA34F`^C}izsjgZh17aNDe}C ztq@LP0LKYJW35FdUGA0K6x_4YWCymLDsc?PY@Ul2wx|}S#8R&5ujo0dg@rk9GjxJO z$;C;AU=eCp2|TA7Iu$+5hO|OP{*ldxD%4$!StVqACFn%?g;@DWo&zQ-6uKm+x=?~~ zImf}(fc@8L1%a{ytfE+llq3zc$p`vE$M&}rS&0}P0n!o`o8*9?Xm!e&g^(;IPe^x3 ztPi93mnJ0Gn4?VO$qef+ev1|K6Gf;e^+PLOy5So`%@Ow?PydURTPM65UBq+~S#_hLRdL9Sq5EY`wC$Q2mHttUmhOk|GG z2LPx(j&TQflVLNibnU0(??NU zc#o-vX_o3tv$Th4{M}9Ck1>ruI#(~(Z1dP*ZBuf5&oF;9ZFx-JmT2hih=%SCt`G%4N z-gnj_8)?fi1Mfht|644&zYBFhZJ@NeC!!rjnPWGu$vXjLMi-SPoQi2tNhyu4Xmm=Q z9&P~g5P2=EC#?sRNhlTe^;U3hD%T%${|0nVjOq?s+uzCR))qIqw`mxYgRn-l?mRtl z8!a|)%WLNSL#wv=yh*SF)mCl7Wrt)%O9YSSJ;F;0EZa<*Dp;eLgD2=>*+Wpd!b6$) zRuqx6a}uxRJDuTrt)-_Fo8drTWJ)Ns6yjY4+|>_amLhgK?&5L(0s9QRXOd=P@>*DX z(=`7A~))yF9!Hks{>H7V_rM)wp)9PVR|9?nxx~L``l2mwTcnHz4lC$a0|^+6^WO zeGDLYGK=0%m=@#L2I1Gnk_1DHUvtdZn_tU1pQfGkZF0#F1Lyl*$7cjS6X#Q>FVaJz zJuA(nC5evrfllMNP^ODj0pc!=s5s76gL{b~r%3AWn8)aj5N*I=r~EGT7T#Zv{R0uXIwY%tf6tTWJ6AHK9WW_d80qj1uZm=0fvK7bygJ9 zbJ>1rRI5v)^G#6GYowu9y(p_Uy-vX%6>9B2lv*gIr&=4LYHiT^ORv|`-t}5~D7_Zw z^!nsbdM%Bs*OgJduGHxj(Db^pcfBZUOS~*OxKO9oSBFyT%D8G>9aZaU)wiNLZR=g9 zZHLjRSm^Z4p>*1&)9IAcQ}{UeD~nH8=h5vQ zYf-8abW>=cEv>wBm=aus#`}0@n$lSg+==F5#f&$ot?!UD^?n1!WSI?Qxno!wM(3zT zH$^qNiFYdMbdsji)WhkN6QffS6%f@5?RLh|PRtXi)6mIWCvCpn#MGNRn^YUMX!=}o zIDIm>KCt3JR&hf}XtFz=CaNCx@!j;eUDM-su7|?*F*?@(J>KX|4<5HurA%wsgYyK} zE2-uNbV*VzIiX~tQew`s)?5HI?qjd&XWn9iA-dY4*v!2x-AL7@8F{0MrkWFiUbOn? z!wE^yt#Z>%T#89Zv6vIGf^CptAtQ~PbMWB7of#IgQ@WC-6r0l&wbQt*%Gl-)SVpWL z-4*qtyVO`}qWf(4BZqQLV6PTaym3fbi{fO#BJpWl)F%;3&wFRTkJkD7cy&g4uQPI( zI>C`6aqHY1t#h+lrPL=rHQbWU3}XUDjhR)?=_SSf0p^XRswpctzV-bcY+o@KQ`%im6BQABr}gk_=-9-nmVu*ioVM7CU&>MM}@COe+s0i8Zh$ zU}g#=NtO~rMp2?Ax}8flAVuMux^!cjvDlMP>`pT#@cri;-n6}kb_FHsZhWJcZRx(z zgQlaVYSWdhxv*)W=&^{RhdFNaP-FgBcI)o$@#B%G$sUQ0tFf_rKtp&o?1R8npT&-H zgl+>Jc$41iw&WGDu1C*27OmznZ4GnidWs#Pw~w$M-QABTSoH446HL92JE~hfMzt-& zdufX)T1T9_PfzJ8d5Vd9WWCiyQRkQ;ta=`9&2T+pp!G;!&?OweHW@No#9%0LXd}U5FdUyXx1}gkvDgfv z`mDL2YeEoOBHXiNo93H1ILv8AUbCXDM^afuJ@-wl7e*e-jB5jn;!H9sEhbA#iZNqG zRyS*u=&fPYjA7y_W)0Ku2RJ!wkXWcyqi-?YQ%BMuas%3G`e{^n{4|1F+0MGOeHt+_afVMWc;;EyZmd z%tE0Dq>_Oq?n8TY5z?ZYlt7dvYi<%>a}`^JF8m%`UpmcDxAH zhQ352At4w+se(Gl5|4UvTDGAE z(Q&DrajAcZOMNvi_1C!6;fe96GvZR0#iia7m-aTIBBa-4#+v8GijZ1wZF7?Z} z)U@Py)Uk1?%i~h7j!S(qF7>UrRC7u^>X5k9+PKvDajEO$QtyvT-5-})*(V;gIWG0V zxYY0CQirF;^{BYiTjNrHj-}EZVWv5vAI?pk7(KHR<)oqx*y-V|*W{f8hw@lJM5NcvvVw z;?LUfhlL!85`WevSAEuo60_C(wRwQb#B*$Njv7&Hs9J2O;2WkAh6#d0B{&3OxJno<2!$%4P!Nh#LXjX8 ztAt`fC{YO|g5XpMPC*!<5=IDuOC?a^FY@W7_$*O5_Nv;}a^A%icrmT5#7l~CZ58rQ z<@~ThErW|=G&a92o{VZyUAeech-;;|R*5U|O$_}Bx}^)HWObD>_1P|kjgITnLsg#+ z4~6=NWCjcI;`kQao1Tda7E5|ZCs`JDAzX8C9Iv8P5H5g1X3I6nazYRvgrw1t4m&AW zR`AE-O8TS;H0S_1MKx(g?l&Lm7T0o6qCIq0Xa_Wbi^4-LG5)Ef0?W`-0l`(1#e7M7 z+4)Lv4dXZ1O%mTb7}zk3H@L2^0Rvc-M6>KT4VWU(Pjb>3NVJ$8iDU(H`TM<=IsH&& zaGwfmJ$zn_mnl9G53k-!Q;)0Y{8kpHZNw2gL#!5uqp=bkU4SM8*8x=HopN*VOpI1L z4MTS_t&Oj$`$5JkS$;D!;8{_Xyyh&l%GtGomt89fCF3_iAlf{4C~H}SgP4^33eE7kC`oB#j<#NDA(Zl4Uf&(o?Er{ zT*}*1C$G5-1+Dq*AscilZ_oy+^K#Lk6w#m!yg?gc8+2*!4Z2hlqi;}@DjKBqk(q^7 zYi+tbwoM9q0GvFZ+H?hPQ!({UlDy_hY=HjwQ(kiwC+W^WmEzHyGx$3MSL4KJGdQk6 z#WlF1JcQO{gq|dfCm*?5o^Hl08hHy;|(zmgBQYL#9 zU=AzHo(pvqP+k5^Y_Jt`p90E2c3sMC zkUl==k({CIulAWB|Kd!nr4cmAWV@jjg*l+!*V)xz`W@^7n0yP_8%Zx`4`iPw-Iilz zw`QX?j!SwbLt%515qh)zc7=UInwKRZ98T~>vW6oAVI<BpbqHYWpj8g!3$D!;yK| zqFLEU*-0&Wjat_QxjC#JT5V&ABxe>`?Dl?G>NESAOeecRx<0Lp<>z59{F1mPlkUKf z3!uN>1lO~axi*e#SLmmBg<1S}DLQ`rfrb8WMjQDD_sb8YqDFKLA3 z2rL82rLy8ab8UkG%VO&wZ(A~!v#p`XqB)W+6OX5soWyJYdCdy1= z6@B)Y?)un)1#7Y#ys&6A61T``)w}fHg`6 z;KXP&gVnMo!XPxVKeCZ*8euJjjbSqg3lTPfHA@DNQkH||8rdvK2FpJNL0Xa;*&Inx zoYG~|?5Pc$EG9eU&!FZz3{BA2I}NQsX)`Sb_=}8`8Ne^GX^BgL@^t@z zDUD6aUqSFxf~N!A)Avk(k0qXGQsw_ix(MV?OGEe1b3KFlQ)d0)vu)ODoS4{UnUi>^_0t7@r>ajkh9r%Il!Au zNU;)pl3FyF(pMUP2f2?^saoUpkZv>uOjT@nLKE2eBxQlAfUP4PW>f8BDSe}i^phZ+ z#!fJAG(l|1JPxAP^rXuGhO^I?km3WGSxhqaq$|u|!P*a%tFSBbJ|hVs@m}1s$(LIE zV*W(zgakeIv$acy<>%gNieggs-BHX`XxXg8N^>7J$r?63_X(4MO}8VqfnCz~uO=g# zFR-G5mrZ6CB<$RNSLAFrS=o6S_O>aJZRMDyO4?;gW-k)9&N5co1K4(vcQI(4!rm3w z^$Dqf?a`!|4Sm>G8U}HU?bk4c*C-%weYuMC@#;y+6BL z!%_jekFaMFuv{*Cljm82guOqI*Zv!GDqx=s{<55++R%t*%pEAQ!aoA_6}itq<#Hf z0W4!M$Ii?7JH)fagq_P;ti$BN?6kpA%MWIo2z%DDxxcIoVfPGQIhdkugP?$p&cHETx4NYuEy1 z4x2oTWA_2)$!v~>%~IwwkA^K!7P9Tb)N)mdhwav|QA!*8Qo|-F?d&J5T$SQy2@Vw- zr36`qhD}gHY=A>8w@g{VMrc?_STc}|ntdK85*`hxq>;0)N*Gl*RUE5yHL5F)oa)W;>fw_MpJdu)e9h!?tSJd&*9>O~dvoyVxuz$1VlVkC;cp-c$Cn z4h`F@e9FETSZ&|0l`oh)LdCuZEK$RLQodx_0-KihwemF^s$t&)=F+gAlyBH?1op?= zAJ}*7I)QzaC7FL?sYin}1?2YFLT+7xtNkjWQo(zqmNIQkra* zrTS78JK1cIF4wT2*(7};u(R`iG+87|8DbmQj*N562~w-TF6n!*IZ3)yU=QbBWlocx zCG0YGPR4a+oAd@@JQ8I}I|;)`belO-`hjC?XYSpAnaWk{Wm7*XRm1*h?k`;=u$%sHSA?mfpmw4{n0#F8dSltRN!<-Wg7OfsZbiHVShB2NPiaC9sM6Qmr8%ru&2!B z(wiFgg1JhXS;?^j>5rO6N^T8%$~;Q)Y1j+qu`#WkAnmDCTlM;15z!gN#AQ&j^%WT zUNa_ah-IDhk-#=t%Pi+e-)Y!!mh&WfK!dOb%LP)u(Hy%XBh_+=G)%*CESE|Z8aBkT zK{`WV_W|cs(j^*}W4T(oPQ!*+u9Nm^2KS)b7%xAe@+B}AjqaU(Qvpg(~8q3E~|NL_;k4g^+EPucimdB*I<2ZIh#;uko zW4!Je$%zl}i#5YDQk9084bMp9G%S_XmDQ|=2rtAkS&q=2WY*XT5$Xh3{ z&54gf-g<$ZXMfW2ymX_$9?L`QL4mzyL+k~CJxbUvft^FxK7lo*BbGd#V*?2rB(NKZ zvsPeLls8Ra({mB?3hXWku{8oqkP*8~V3P|FyIo*klb(+Y>p6B3wLMQ@_fTHBz-)<#H45xYYQqA7?a4r_Q($J&vlPI7pL3EJSnQnHYt;1mOa^i_NtVx3ETMQa?X?U79(Gw_$0&RKQNwasFNE5S$AW{cO9mN^q`9Oa*M6j`I!aO2OGD)6f1P z-5@yanW=!?uG8#I>92zGBG`|;CA}gzH^6@EE$K}i=i54Lhh>MfSCkuQzkt0XeW~Rs zfE^HdxSxJUQYLc@_tWo4eFXMh!Y<3ZQkKA&bq`>6fqk4=Y1k<_1SVxUjXR}Mflapi z*?Us0z-HT10UIwccaEREFC8zi09fLEsaarm!VY1Vbh5x6R#E};2y9hPr4Exnl5P~3Ic>Y?Bk2x- zy$1WuJsMhL7yNlN%asutKz${S1AW&N(rfz`IuLfEqm$L1H(M#46*9|xo*d?{5QAMM+( zrE!E^X(>17C44PK1Xd5&H_{y(V@>9tly75Z(eJxqjuQ|&3(u?ot04^f!;aXG0;{$b z0A`sI&HF)maY{7r2k9MM-acvD)M(y5X{W#n6CLcwnA(4$8%zemCP*swtW;=8Wxr_H z5X<0%Up1`1WkdoU+OV{Igcs}Jy?ybRW^@8_8Z7ZCZ!#6iY_f!DS6URFk&g7g+0}GB z%I8)U%IrmRcL~$`A=K0VY>Co2oT00Ca7GmVWRG9teVHnhMJu9d1G^&cNO_`qsyxy3 z(eS)VpRW2#Mr>NOaCeGPlzK*2>X{y;x>Jn*zp2Z>W=ruX#yIsx>82jFt8%(ijBzyS zDd+#PKIWu&lz93?>AlG@vhNamr<;0}8O>GVw3KVuof5C5JvHo^%QcKoH}xvBr-ppw zo@9+p8)C+Flwyo2^@KGx9b4*&9;J9LLb+E;F6mrAUJ=Pup&Do6Q(_}ee9GZUji*@J zKcPFF&kp@*cEC9zwqJOu-u#E#VX7@Q9c!g1CDyk8lcgT+7n_bP6{Y-ZrEVviPaF`N zR!eoK{OhIETs^10XODyjA2OBM+4-?)wf62596n%o@EpuJhfkx=hDPzx->JI4$0B zSCUpXiY^U15OU(Rk~*2FIM7U@9TkNlj zpHDedfuUeo_!d_&L40&z~vdYN%h22PftM96Hh(yOd`P*(g3CcTrXXho-HRxQwIzK=&^5RS4%lb3Tq+FTiAB{ zB)J8w(Ij6coiqTghb^7QD)VoUJz%l>WFMP4;BGdL4NiL&(kNjbm7T{P=-VW}MQMa) z!*JwclpAT29UWJ)}eV!{nRfLd%1O)5zLqvqH<=>>{$jMP#4L+3cJz z4cD=+rOiOcr%Ns(D{W$LOE%+m>@DzhBQ0JXIv*?T@TPxDi09T^r%-x2 z8wIe1)d8H#CIXztP5`)&O$X>K=1^jH?#EsPbNw$y9wYjb|=6v!8PnpDeKsUpw&$TZ((P#oYW^N zy^EkEAv8#5v5M3|1X}@~oO%|)v!xA?yODUd5PY8?lMzmkpJtt@6XX{tjg)rzb!f$U zf=|n5v4>JW1h_5LU_fX$AkQF5kE8SiNPn8TkkYLN)UAus>j<7joHtSW7D_)!>8B~Z zi_#xbS~5~AjF>K<^dL%)qjVj?2}D^)X*a=EqO7CzS(Lts(zh7NN|b(@=({K_nWz>M z)k5h(l&+(+n_w%!bp+2McoV@}2yQZ=J)flX(*$=BloXOc(4!#FI!fO}@JWKZ2ufyz zgU!gZo1ifP;b1Gm`b31DB!p)tBixjN(4KlN>)U5=DyGLl+Sg|xz^D6cN~5yr#F;_q zOp@7;BxIAc{*=xoo;=FUCpy8c1E`dp^dUH|05x1l&{IJEL+LF9jRTR=HIOI-*&u{= zf(r?D5!^y>>mcNRpYsexIF8^(g6|XDJs5e|5aJ;?j^ILqT?980+(Phuf@~=1GnDK@ z>2U-X66_+lk>D1B?-OLhs1|~Qhf#Yey^vrRLFOPHg5wC*JCJiBrMr0UaLOg<8BY2a z-j5W5T?EfAq&_Von-`OvONinm`;VZ0aZ$gNQeTu&FO*YmC8eu~XAHtM>>PFp#IA?g z)9h{bDO03ksZnZ{HcPKd`ErpwOP(*c$*bg7eV^HjNF1NI4AFG7kD0(B+mYShY<{KzPtP65znxu>jMv8xrt4{>KA+l5*dp+@#!T z03R_|X>bFj}v$=%|sbV>6ToC_euzp>C@9w3J`uza^6-DzE9~3`XOA@AEApRl=emV#{`78keoY6 z=0^m#68xT#Wa3;#JbMQqJca7oOzF%-gx`|PPcslEQrVvcDa3JZ% z21;79=|gTMA+68SBDdmW!d z&jBcd-=;HMN2WtMkM+g-Kd=tKFD7LJeGoty*695ieo?MJq)UNIhFN+5z-r)?89s9; zvunZAW%eTYxy)XI5)ykEpv+!@d0l4PU>6|6x_kt{*Fc8MUI!U6`#Y-yxE&

    aUJOx==?QA7B2F?~a8I63A*~5N{M&uxzmNHMjSV8? zvawOPYooPrPin1)8{#rt9*DtzegA%N#jHW4LqyR$s=E)|hKP&VKc3xH?6wc1@RQj+ zp51n|`4I6kw|w8JEv0Rp-^?u44RK3yM5!SbILQ6mn6YqwJ?^;Do}%BR8OV!TLlFlj z&IbKsXw|mP*9~$XMvr7#L$<@ng{Om_+_uhhBSaHHUTvL!gWnKO;KfoySg1=|XQ+tM zj$C+Fsjj=72hhvEpMGBHyw2tzxp&Vd_YW24f!iu>pNW2=ukf8$I=l0H)OU90x5#~V zXX$JTuR?5F=M&}R?+FP}#9e)vfLxQpFP zAG`(r4CU?c`_T>=_xxGEM94$xo-EC)+8*RJrs4of{`L%Vk17YCZw;GxA83MHhE2u9 zf&4?nX^!8PM#L@3BXGY`pD9R7sXjmmaUjZ%Kr>$a9emyj5{J{!kGfdR?xpMw88-v5 z_)mAx!tFY>?W48i-rcuUpIJ-u!bbPCMH8|9EwIr=Q~hY^MG}?XF}y`ZZ!tO`mQMV# zR1=Tc=<4D(@x{Y`+30Amy+D`u6!>jKy6;LI0_q5UPl*xs7%su2^if(b#z3vY^;uqd`CzH#Vx6)32;V46mmgwuxSWVP!qU z4n}LmNj)c&Ma8!^y1LKtWo6=7lPK4UTY~e;Dn+udL~r(9R8}LV+32&`XP5O9t6~&K zt)yU|-^plO>7L=Wu-MIPs;r zw{0#{hhJ9KC_ZKMj*=MO2VW4AWm(T42;E|%e^d~9&_;h9N$8-Bo?$NU z+GrnBercm9#}y@HIZvNV>3Z8J*q2bNjh?S1G}A^MT+TBylw7ilZS>0VMEO%2?U+sI z4jX+wkkF$U$}pkVY&5Jlp^t6!nuid7CJ-$srV@(4E+qT?3ALZ7VI;>xljvikm95XJ zO`>0x^2V|zvCxj&>fT*8KrFRUMcwYQfntq~HkR)$8zgS9(I1EHDH|;Aw9&V9d&-82 zhivrxpgm4HlndPN%+xh0(0Cylk18mi$yj{ z=%1BM5jWfD&Ez*_GsOKiT2f!B&J>?9+9sY0!ZcBk`)n}{J2N4!b&sA9D4#8sFgmJi zaPRfc79BSF$=H%|eEX8o)#8R}wc6YQE_20Zj+3o4SL~6*NRIfG?Xt8JNk2}#Y3LC z%0h9N(MIva!p8CwU~!?i_2Pk1NbD=WNL<6{sOP2Q zo-AJ_9+ybj?*2W{$2O`S`D*#^CH=yIT+imi6s711DM=))}9Q?^}98%O0ls?3P~%yF$a!A6^FhgV!D zF0|1D3ulO*i5)h2Y3#U)>&0U>dV1tualJTbqq|2!mlywJv|h~V|4i}q;#(X2yKQR4 z4Z_KX1lz=K9kVKK6oVM86&Kc4syB%RHkyXhiJQe%Ny&P_&B8H(%1JWeMBLSkjw-aG z-y(J~k}LWx;!Z|ayMI6C#EM(QlQud$W--t~iNuiNvny^D;fciaYB9Li_u6eDc$`Et zO3tphUH&I)h#Ob5yy6!kHHqT3iKV?RuK1<+xkOyDJH@jSxp$0PUva0cOC43JpiA8; z$|qC0qsoQuzGZib-i+3Zx@4RBE3v>vGv>6ZcZ(g2_G?d%+ElSe9GXJu_G^bnT~l$7 z_;xBG8dc*eej_fPMo7**zY(`EqOrLPagRtO?wNQ;#eE`tyiE7i#C;VHh?zE89DBXu zA@RPAj!xWHzE3!&XDGWW9uc?LXh!U_irT8nhsDqj)5nkDmldd}|3KZ^UYm#1=G6x&z% zXHhy&qCby(zOqX^Vx#L~hb!L|_s^GcYmC<`j*3Gznl$&5%8x|t0vWe=-2Ya7BAz-? zqHl^i^-slN8~w&xT=fsJ<0Kh3K3G}xFERXNiB`@_R(&Bh*vK)zQvFhVW}}@`2UUF~ zYEL0b*)HFRfsFQRd#47)H)6bu6aO>0QvFsex8tToI`!|w8#a2YVszE_V(F>OMckuL zs#2A+7ZKX8y+2p0(3STYtruU{cIs}WaVvbuYj)W>zLm~d8m(vI+$s!s7A>~<{%dqh$ zSA~^V8LbzjXGN5^v*^*XQf1NU#D(IXFRM^$mk`<}W)+=XRi!LHlh9gm@%Rg>s+9$2 zNwmU!RaGx#rH#(%{nM)6O8!oxLAitDu65s2Z|Mz6>DiR-T6ftfLcMMDOGZr+iRX(y zRU4E^HoB{LuF{~aVzf=XRR6u!N7*eA&jqIPD@NCE1?@10DgTm`;?K|(hbgO;63?|FHs|BA;mVR_5~+z#t41h~ zoG;PO`#7q{C`&9tltWNVP*PbmLrhdUvZ%CrlCo1Gx2Jxun2I;vnTxx$J_vM|9ryVB zy<(bjpB;C2eh}ypJ8nm5&+6lqr|h`hrG0=7F_Js)>58$Ocpeb6^PZt3Y(zWn8OkO` z*Fpxr*JdbZUqF=G#K39Q%1mV)BWklCzTL4+BKJY8%(IlA+33T0L7-hW`g-nO{BN4~ z+vs|fdbV=FMnB^?;;#i|Kg`ZZdEg_g;aTL|pa=OrB+(vlZr2;D=VmCKb#*P(3$y6Y zeMeWHltnKlkE^B&uADB=%RQs|lq@={E+6fU>=n7Vzf7NaD0?E8j%%CedHl!Ht2DW{j^qqn2^Xky5YOj%WiTIo=g#M{V_1INz5=wVpj|F2h`X}@wHHu6AKIH&+Y#P;w60HnezCUv zvg|5o-KYBG$6Yx%A8jgVm%#(_dEQeyH81zm3wrbYf_8afaDKWMy(j1O-)9ANSXcBW z|39))2EUjwqx#gW40@1z4xI$a%Aq4@>l}J*cs^QKfUfrD$MqVQkCqouURi+L1?l=u z$xr7mKo3C%b7k2Z%`fM7kk(wBfiadt&lSYoUx02XK%roM4j=c=N53p+iTm-H>Rb+E zX65IXM9b&mDj~Z$bWK@4T3Ar`d*b;#NA=043nuPW1$9`OkDRxUKRuVb^WSkr zoR;l(y=g{u4*dnPn?pM=Hgo7T%nUg+5fYh0?<2n)dMzJ0w~Skwi*rsIaZ&Xd+1$S_ zon3u)7JY^BmqpI_tj;|20QxT%H?<&cL;*U{ zl~4IeLEP^g`Emd2$ww0==A#kV~u@?#~723`jvP?$v_)o-IJZ0-i4y z)Nc|bE63%g0`zjr?CMn}q06USmWK{uG@h5~Bj=4{6|ppn zJ{^*eNCtCpFBZgEj{LYS1?cgDbg#j(kmEASosZnJ@=@Xscr%Bb&iMA~Y@GAdw(G0U&rmv_ z9sG;x3$o~jX^Kc?(f!d))j32tq%(1xLk^L4kwwVwuId~*we5lGi!$jrzl*bo@}qY? zc_LwQ$fPtd{2%GM~KGg|Au5Hnw=;!ZK8_`}rasymfR8}&bKQ$?q8kkLl* z@8HYTYZb>zN%`;K;pz=aF(cB!j#h6}#z^FTWavMtuTZAj=*^}tfKIg2oj4KpCFOJ* zo#5OHbTOl+#AD9yKzS}5NaM_=vZYeJLRn*@1kjbrc1GL86TKWYS1JEuBy-=aG+adK zHX`?;nytz}8@<^S2FlNUt1_D74hYJ9tFnNR%zdl!ij64ut;$gwQSRH6ZyCwlf2y>s z;{3So+m$JdB+u)VIgBLF>y$%`WV-8=@J}e+rASv^^Rvtz!Sg2UU^|uG9JkFq%k!za zGuwaED>+2Hl0(!F*DG5&-2pz?x>4D|2v(ILbCnyF`)pJ<^LyFgL#~B^K2tQo?v~uqTqFgKf?l`yR8D;#XgboO@EN89r66VvYpXdaly0;YF;Rir5AsIIxnMi>%~e1HynNtcds2+ zr~WwZ13Rvm)A=u#T>jn-mqt5ol=fpTbM3e3Mw_Vt`j*(yT&_88ZG~l(#&!1C?~cJ1KKT-X9d=ymlSDhen;uRtpAd7 zj~(~GjHy8R_LrBGM>uXh>+=7({w+i_pv3-K>0?=h02|A&;H+LU)H zYry3T8)@35HHQ@EmAU%8Tu{GPlrYE1`n{rTl8Ec~N@pGdCecP=+W?A@p=|%IPdsl7A;KfrQ2fsJK%h? z#{}1(vgpvj39dh9(Uq|99Lb_n+wQ7)D~p~Tj4!HW5v|kjWzqf72WxWZ^$`!&yq}Gm zJmrxZytZfOKC$7+nxl*|7LX5>hq$%}Fq`(O`A~U+5y_Gw{;E8e7x&kKIJ(uQi1o#E ze}BtV^50iWt~rL>ha1Sfq?uyBobW^c2Z&X1%ZkEldXq~b8Fxi}&M(6oCKA0XO792k zz`ZZrN(oWO47i24#1fetGnD=ah3uH4BJBm7R)#F;M`=ucyrN@dqpNy*T9;qsywO&=dhM)Tk6!H$Jz~b>dt!R`Nl>BY?REzpeLa75UvK3IttVbm{H5Pvno7_qqw-(T%P_^M8h;4`yH?Sr7%FL`+1 zi#bo*!W!;J*vR3nQiJALKqPQK#t1w?i(cG&V@}PDL7ZBE!!qI;^YN9$d{<;Fhq5Mr zDaL0@1zRzrsq_3w_{^}b$F#Ll#Z zZ6e{1%x6x{8oZArGuIOC>3OR0dQQE9PXl9FZf2>V z(6jYaw!%@vEljlHQFyl*;WJwq*7bbL!|+eN#OwUbiJN=@LMwv z&p=1{)eABr#6X|O*b#49VSXby#QRjmYNr x3HjXMld6`ZXv7=Oe^_wa4irYxbyD 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 TQL2yB3!Dbuw9Ris2hINv$_{Hk diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll deleted file mode 100644 index c8483c2f1b7f8a2cc32b8ef65b1ce67de7a69c0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69968 zcmeFa2Yg(`wLd;{clYjURje*smgJS|T9($5Y|8~37fCMQZn*#^_FB8L1(H_mu564E z$n+iv7(znFbdnHS2oDkyN+5Iy1OhlXw2(&)p@aE<&zZS*ccrx{zxUqf_xb&wY@Ivj z%$YN1&YU?@ZqcGc&lL_KgcHBtd?UnNxYExohWiJ7$j%vdcaFF{|SZGV?~qsHTK#)b;vJ*H}|;fKw<)kG<0%8v|x1rkQd z*@fuIQN@m{{5fb-)xQ+oS>sVTxrX69r@dqivoVX|&juq3IEz)X1PuOR5LQ)TY(vjE ztA-nnUQU4EvIv|QZ8)6%N2nt3_|YU2h5T?Yv#P;x9Or`+|6syIL9HPc=mr{2KXOb* zO=c7Z?T%Ga6P`lTq<=V-7y;m57#WFVO|Jh7uq$3}F6t^Jsn7@ArWE7^2yTnOi97wH zNa9!E9;{7c_+fT4G8*)&MwJ*;rFoTq4A3g*S5Ry6ScPJFj))&rui=MkX7%B!AnRo& zw3~J|N zq-ND-?IaF3P6Unhj&mtS&b?5XLU~r6;itBPW*rkOAO2#Vf- zQCx*&9g^g)QVfC|_&xMt3Hicbuk#E61u&|uI=p6ek>bkCmu7_6{S$~c3V-d6O+@k- z)y8=!2LouC!@P%kjcw4saN(FQBC5 z!_I1t(|;-mdWZ9srFiV9l0kym zA{c~T|AE|>g9ph0v>}6x{F2^r3Y|B=cw*$v#f@??V@mSiwalf90! z{J_$3lGgJ1|7H`hf27g!M@d?8n*24nUuVIV)USL+ztZ)G^y}<2{iC27fN#CoS6lakj3FW5-ASi?Eh%BoNi zuoiYAS7Y!4Q{1Qh)x~Ze{X3!z$Ae-X&Hhs$hYI;mLt^ShV0P9VWD{y;s^R|(GOa+H z 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 AWB>pF diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 902dfa0c116d8ed1374faa553d21649b85bb8e60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30096 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 G^Zx^}SO#nW diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index 857aa7adbf30032564bc070d989f367a9d202f58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24512 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 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll deleted file mode 100644 index 204a919777f97c8c8b1013571249a1e3272cb492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27000 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 byq;7&Vfx8_mpxzG&d!`iKAe9|=rsR7arus0 diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll deleted file mode 100644 index 469471cecbc17fde94fad91fcdc041df20a3e964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31272 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 N*29rUbP1;!`+o{LZwCMX diff --git a/src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/src/packages/MSTest.TestAdapter.1.1.18/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll deleted file mode 100644 index 4536b3c98f0bd5062680335147951ec277a29d74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25176 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